unittest模块中的TestLoader类有一个discover方法(Python2.7之后)
discover(s
tart_dir,
pattern='test*.py',
top_level_dir=None)
递归查找指定目录(start_dir)及其子目录下的全部测试模块,将这些测试模块放入一个TestSuite 对象并返回。只有匹配pattern的测试文件才会被加载到TestSuite中。
如果一个测试文件的名称符合pattern,将检查该文件是否包含 load_tests() 函数,如果 load_tests() 函数存在,则由该函数负责加载本文件中的测试用例。如果不存在,就会执行loadTestsFromModule(),查找该文件中派生自TestCase 的类包含的 test 开头的方法。
举例:
import unittest
def suite():
loader=unittest.TestLoader()
suite=loader.discover(r'F:\PythonProject\test1')
return suite
if __name__=='__main__':
unittest.main(defaultTest='suite',verbosity=2)
测试结果如图: