1

可能重复:
Python unittest - 使用自定义 TestSuite 调用 unittest.main()

我有一个用例如创建的测试套件

suite = unittest.TestSuite()
suite.addTest(module1.MyTest("test_simple"))
suite.addTest(module2.MyTest("test_simple"))

并且需要使用unitest.main(). 尝试时unitest.main(suite)根本不运行任何测试。我怎么能在unittest.main()没有电话test.TextTestRunner或类似的情况下做到这一点?

4

1 回答 1

3

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

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

于 2012-11-12T12:19:45.703 回答