unittest 11 批量执行测试用例文件(通过模式匹配选择多个测试用例文件 TestLoader discover)

前面我们说了,对于不同文件用例,我们可以通过addTest()把用例加载到一个测试套件(TestSuite)来统一执行,对于少量的文件这样做没问题,但是如果有几十上百个用例文件,这样做就太浪费时间了。

unittest中的discover()方法可以批量加载用例

discover(start_dir, pattern='test*.py', top_level_dir=None)
  • start_dir:测试模块名或测试用例所在目录
  • pattern='test*.py':表示用例文件名的匹配方式,此处匹配的是以test开头的.py类型的文件,*表示匹配任意字符
  • top_level_dir:测试模块的顶层目录

代码:

复制代码
import unittest

if __name__ == "__main__":
    # 测试用例目录
    test_dir = r"D:\Git\Test_Framework\test_case"
    # 加载测试用例
    discover = unittest.defaultTestLoader.discover(test_dir, 'test*.py') #返回值是一个测试套件
    runner = unittest.TextTestRunner(verbosity=2)
    runner.run(discover)
复制代码

 最终实现根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰。

你可能感兴趣的:(unittest 11 批量执行测试用例文件(通过模式匹配选择多个测试用例文件 TestLoader discover))