欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

3.unittest_unittest批量执行(discover)

程序员文章站 2022-04-10 17:06:09
...

我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到unittet里面的discover方法来加载用例了。

加载用例后,用unittest里面的TextTestRunner这里类的run方法去一次执行多个脚本的用例。

一、新建测试项目

1.pycharm左上角File>New Projetc>Pure Python,在location位置命名一个测试工程的名称:unittestDemo,然后保存
2.选中刚才新建的工程右键>New>Python Package>新建case文件夹,并且在文件夹下常见test文件;
3.unittest_unittest批量执行(discover)

3.在t这个项目下面创建一个脚本run_all_case.py,接下来用这个脚本去批量执行所有的用例。

二、diascover加载测试用例

  1. discover方法里面有三个参数:
  • case_dir:这个是待执行用例的目录。
  • pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有脚本。
  • top_level_dir:这个是顶层目录的名称,一般默认等于None就行了。

2.discover加载到的用例是一个list集合,需要重新写入到一个list对象testcase里,这样就可以用unittest里面的TextTestRunner的run方法去执行。

3.最后使用unittest.TextTestRunnerrun方法来运行测试用例;

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 discover

if __name__ =="__main__":
    runner = unittest.TextTestRunner()
    runner.run(all_case())

相关标签: unittest