可能重复:
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
执行此操作?
答案 0 :(得分:3)
您无法将TestSuite
传递给main,请查看unittest.main.TestProgram
的构造函数(实际上是unittest.main
)以及此类的工作原理。第一个参数,如果有什么是模块名称,而不是测试套件。
main()
实际上从sys.argv
获取其参数,因为它实际上是从命令行使用而不是从程序中使用。为方便起见,这样做很常见。