假设我有一些包含unittest.TestCase
派生的测试用例的模块。所有这些模块都位于一个包test
:
test/
test_case1.py
test_case2.py
test_case3.py
我想在test
中使用一个 shell命令在所有模块中运行所有测试。为了做到这一点,我添加了一个新模块test_all.py
,它创建了一个包含所有测试用例的TestSuite
和main
:
def make_suite():
... # add test cases explicitly one by one
if __name__ == "__main__":
suite = make_suite()
unittest.TextTestRunner().run(suite)
现在我想知道是否有办法在test
中运行所有测试用例,而无需TestSuite
答案 0 :(得分:4)
从Python 2.7开始,你可以这样做:
python -m unittest discover <test_directory>
当然,所有测试目录都必须包含__init__.py
文件。
您还可以使用nose之类的工具来运行测试。
另见:
答案 1 :(得分:1)
by()