前面我们说了,对于不同文件用例,我们可以通过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)