使用discover批量执行用例
TestLaoder
该类负责根据各种条件加载测试用例,并将它们返回给测试套件,正常情况下,不需要创建这个类的实例,unittest提供了可以共享的defaultTestLoader类,可以使用其子类和方法创建实例,discover()方法时其中之一
discover(stat_dir,pattern=‘test*.py’,top_level_dir=None)
根据指定目录下所有测试模块,可以查询到子目录下的测试模块,只有匹配到文件名才能被加载,如果不是顶层目录,那么顶层目录必须单独指定
stat_dir:要测试的模块名或者用例目录
pattern=‘test*.py’:文件的匹配原则,此处表示以‘test’开头,以‘py’结尾,‘*’表示任意多个字符
top_level_dir=None:测试模块的顶层目录,如果没有顶层目录,默认为none
下面是一个使用discover的小例子,如果下面是我们要进行测试的测试目录:
那么runtest.py的内容可以如下描述
import unittest #待测试的模块 test_dir='C:\\Users\\Anne\\Desktop\\SeleniumPython_Test\\Web_case\\test_case' discover=unittest.defaultTestLoader.discover(test_dir,pattern='test*.py') if __name__=='__main__': runner=unittest.TextTestRunner() runner.run(discover)
discover()方法会自动根据测试目录匹配查找测试用例文件,并且将查找到的测试组装到测试套件中,因此可以直接通过run()方法执行discover,大大简化了测试用例的查找和执行。