如何使用unittest.main运行测试套件

时间:2012-11-12 11:45:44

标签: python unit-testing python-2.7

  

可能重复:
  Python unittest - invoke unittest.main() with a custom TestSuite

我有一个用例如

创建的测试套件
suite = unittest.TestSuite()
suite.addTest(module1.MyTest("test_simple"))
suite.addTest(module2.MyTest("test_simple"))

并需要使用unitest.main()启动这些测试。仅尝试unitest.main(suite)时,根本不会运行任何测试。如何在不调用unittest.main()或类似内容的情况下使用test.TextTestRunner执行此操作?

1 个答案:

答案 0 :(得分:3)

您无法将TestSuite传递给main,请查看unittest.main.TestProgram的构造函数(实际上是unittest.main)以及此类的工作原理。第一个参数,如果有什么是模块名称,而不是测试套件。

main()实际上从sys.argv获取其参数,因为它实际上是从命令行使用而不是从程序中使用。为方便起见,这样做很常见。