对python_discover方法遍历所有执行的用例详解

时间:2022-10-08 12:39:22

当我们写了一个单个py的测试文件时直接运行就ok了,但当我们有很多很多个这样的py时,难道要一个一个的点击来运行吗,当然不是。我们可以通过discover方法来找到所有的用例。

下面直接举例说明discover用法:

一、 准备工作

目录结构:

对python_discover方法遍历所有执行的用例详解

discovercase.py 文件代码:

python" id="highlighter_175334">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import unittest
import os
 
def discover_case(case_dir):
 # 待执行用例的目录
 testcase = unittest.testsuite()
 discover = unittest.defaulttestloader.discover(case_dir,pattern="*.py",top_level_dir=none)
 # discover方法筛选出来的用例,循环添加到测试套件中
 print(discover)
 for test_suite in discover:
  for test_case in test_suite:
   print(test_case)
   # 添加用例到testcase
   #testcase.addtests(test_case)
   testcase.addtests(test_case)
 
 return(testcase)
path = os.path.join(os.getcwd(), "测试用例")
case = discover_case(case_dir=path)
print(case)

test1代码(test2~4代码基本相同):

对python_discover方法遍历所有执行的用例详解

注意:每个testcase里面的执行用例(即以test开头的函数)必现大于或等于两个,不然会报错。

二、写好这些后我们就直接跑程序看结果

运行后用例的文件名、类名、函数名都会遍历出来

对python_discover方法遍历所有执行的用例详解

是不是很简单啊。

注意:如果用例名称全为中文是不可以加载的到的,必须以字母开始,比如“i登录.py”

这样是可以被加载到的,如果直接写”登录.py”这样是不能被加载到的。

以上这篇对python_discover方法遍历所有执行的用例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/niedongri/article/details/79045319