Python unittest - 使用自定义TestSuite调用unittest.main()

时间:2010-09-22 17:40:50

标签: python unit-testing testing

我正在用python进行单元测试。我没有使用任何自动测试发现。我正在手动将TestCases汇总到TestSuite

我可以使用unittest.TextTestRunner().run(suite)运行这些测试,我希望使用unittest.main()运行它们,以便我可以使用命令行选项(例如-v / --failfast)。文档说unittest.main()可以选择TestRunner。

如何将TestSuite转换为TestRunner

2 个答案:

答案 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 )