我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover
方法来加载用例了。
加载用例后,用unittest里面的TextTestRunner
这里类的run方法去一次执行多个脚本的用例。
一、新建测试项目
1.pycharm左上角File>New Projetc>Pure Python
,在location位置命名一个测试工程的名称:unittestDemo
,然后保存
2.选中刚才新建的工程右键>New>Python Package>新建case文件夹,并且在文件夹下常见test文件;
3.在t这个项目下面创建一个脚本run_all_case.py,接下来用这个脚本去批量执行所有的用例。
二、diascover加载测试用例
discover
方法里面有三个参数:
case_dir
:这个是待执行用例的目录。pattern
:这个是匹配脚本名称的规则,test*.py
意思是匹配test开头的所有脚本。top_level_dir
:这个是顶层目录的名称,一般默认等于None就行了。
2.discover
加载到的用例是一个list集合,需要重新写入到一个list对象testcase里,这样就可以用unittest里面的TextTestRunner
的run方法去执行。
3.最后使用unittest.TextTestRunner
的run
方法来运行测试用例;
import unittest
import os
# 用例路径
case_path = os.path.join(os.getcwd(), "case")
# 报告存放路径
report_path = os.path.join(os.getcwd(), "report")
def all_case():discover = unittest.defaultTestLoader.discover(case_path,pattern="test*.py",top_level_dir=None)print(discover)return discoverif __name__ =="__main__":runner = unittest.TextTestRunner()runner.run(all_case())