如何使用一个shell命令运行所有测试?

时间:2017-05-17 15:02:50

标签: python unit-testing

假设我有一些包含unittest.TestCase派生的测试用例的模块。所有这些模块都位于一个包test

test/
   test_case1.py
   test_case2.py
   test_case3.py

我想在test中使用一个 shell命令在所有模块中运行所有测试。为了做到这一点,我添加了一个新模块test_all.py,它创建了一个包含所有测试用例的TestSuitemain

def make_suite():
  ... # add test cases explicitly one by one

if __name__ == "__main__":
  suite = make_suite()
  unittest.TextTestRunner().run(suite)

现在我想知道是否有办法在test中运行所有测试用例,而无需TestSuite

2 个答案:

答案 0 :(得分:4)

从Python 2.7开始,你可以这样做:

python -m unittest discover <test_directory>

当然,所有测试目录都必须包含__init__.py文件。

您还可以使用nose之类的工具来运行测试。

另见:

答案 1 :(得分:1)

by()