Python 如何使用一个shell命令运行所有测试?
假设我有几个模块,其中的测试用例来自Python 如何使用一个shell命令运行所有测试?,python,unit-testing,Python,Unit Testing,假设我有几个模块,其中的测试用例来自unittest.TestCase。所有这些模块都驻留在一个包中测试: test/ test_case1.py test_case2.py test_case3.py 我想用一个shell命令运行test中所有模块中的所有测试。为了做到这一点,我添加了一个新模块test\u all.py,它创建了一个包含所有测试用例的TestSuite,以及main: def make_suite(): ... # add test cases exp
unittest.TestCase
。所有这些模块都驻留在一个包中测试:
test/
test_case1.py
test_case2.py
test_case3.py
我想用一个shell命令运行test
中所有模块中的所有测试。为了做到这一点,我添加了一个新模块test\u 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
中的所有测试用例,而不必从Python 2.7开始创建TestSuite
,您可以这样做:
python -m unittest discover <test_directory>
python-m单元测试发现
当然,您的所有测试目录都必须包含一个\uuuu init\uuuu.py
文件
您还可以使用类似的工具来运行测试
另见:
从Python 2.7开始,您可以执行以下操作:
python -m unittest discover <test_directory>
python-m单元测试发现
当然,您的所有测试目录都必须包含一个\uuuu init\uuuu.py
文件
您还可以使用类似的工具来运行测试
另见:
您是否反对使用像nosetests
这样的工具?如果不是绝对必要,则反对使用像nosetests
这样的工具?如果不是绝对必要,则反对使用。非常感谢。discover
解决方案可能正是我所需要的。太好了。如果它最终成功了,我希望你能接受这个答案。非常感谢。discover
解决方案可能正是我所需要的。太好了。如果它最终奏效,我希望你会接受答案