我正在用python进行单元测试。我没有使用任何自动测试发现。我正在手动将TestCases
汇总到TestSuite
。
我可以使用unittest.TextTestRunner().run(suite)
运行这些测试,我希望使用unittest.main()
运行它们,以便我可以使用命令行选项(例如-v
/ --failfast
)。文档说unittest.main()
可以选择TestRunner。
如何将TestSuite
转换为TestRunner
?
答案 0 :(得分:2)
接近How to run a testsuite with unittest.main的副本(回答复制并粘贴):
您无法将TestSuite
传递给main,请查看unittest.main.TestProgram
的构造函数(实际上是unittest.main
)以及此类的工作原理。第一个参数,如果有什么是模块名称,而不是测试套件。
main()
实际上从sys.argv
获取其参数,因为它实际上是从命令行使用而不是从程序中使用。为方便起见,这样做很常见。
答案 1 :(得分:-2)
除了确保在单元测试模块中有此功能外,什么都不做。
if __name__ == '__main__':
unittest.main(failfast=True)
http://docs.python.org/library/unittest.html#unittest.main
来自文档......
unittest.main( failfast=True, testRunner=unittest.TextTestRunner )