在Python单元测试TestLoader中指定特定的测试用例
我有以下文件夹结构在Python单元测试TestLoader中指定特定的测试用例,python,unit-testing,Python,Unit Testing,我有以下文件夹结构 Unit smoke.py Test1 Test1.py Test2 Test2.py 两个测试文件各有两个测试用例 文件smoke.py包含 上面的代码运行了预期的四个测试用例 是否有一种方法可以从文件test1.py和test2.py运行一些特定的测试用例,我可以在上面的代码中将这些测试用例显式地添加到suite1和suite2中 如果Test1.py在类Test1中包含一个testcase name test
Unit
smoke.py
Test1
Test1.py
Test2
Test2.py
两个测试文件各有两个测试用例
文件smoke.py包含
上面的代码运行了预期的四个测试用例
是否有一种方法可以从文件test1.py和test2.py运行一些特定的测试用例,我可以在上面的代码中将这些测试用例显式地添加到suite1和suite2中
如果Test1.py在类Test1中包含一个testcase name test_system,TestLoader如何加载该特定的测试用例而不是运行该模块中的所有测试用例。一个很好的解决方案可能是去掉
smoke.py
而改为安装。Nose是一个测试发现框架,支持包含/排除规则。您可以将测试加载程序配置为仅运行具有特定前缀的测试:
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)
我担心有人会这么说,看来我得用鼻子读了。谢谢瑞吉斯,但我用鼻子。如果我回答了你的具体问题,请把这个答案标记为正确答案。
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)