我有以下文件夹结构。
Unit
smoke.py
Test1
Test1.py
Test2
Test2.py
两个测试文件各有两个测试用例。
smoke.py包含
suite1 = unittest.TestLoader().discover('Test1', pattern = "Test*.py")
suite2 = unittest.TestLoader().discover('Test2', pattern = "Test*.py")
alltests = unittest.TestSuite((suite1, suite2))
unittest.TextTestRunner(verbosity=2).run(alltests)
上面的代码运行了4个预期的测试用例。
有没有办法从test1.py和test2.py运行一些特定的测试用例,我可以在上面的代码中将这些测试用例显式添加到suite1和suite 2中。
如果Test1.py在类Test1中包含测试用例名称test_system,TestLoader如何加载该特定测试用例而不是运行该模块中的所有测试用例。
答案 0 :(得分:6)
您可以将测试加载程序配置为仅运行具有特定前缀的测试:
loader = unittest.TestLoader()
loader.testMethodPrefix = "test_prefix"# default value is "test"
suite1 = loader.discover('Test1', pattern = "Test*.py")
suite2 = loader.discover('Test2', pattern = "Test*.py")
alltests = unittest.TestSuite((suite1, suite2))
unittest.TextTestRunner(verbosity=2).run(alltests)
答案 1 :(得分:0)
一个很好的解决方案可能是摆脱smoke.py
而是安装nose。 Nose是一个支持包含/排除规则的测试发现框架。