3

我有一个模块mymodule,我用unittest. 当处于详细模式(例如mymodule.set_verbose(True))时,模块会记录到标准输出诊断消息,否则保持沉默。我希望当我在主程序中导入模块时,它处于静默模式,而unittest运行时,它是冗长的。

我试图在 unittest 主循环中破解它,但它不起作用

if __name__ == "__main__":
  mymodule.set_verbose( True )
  unittest.main() 
# apparently, modules are loaded on each test separately

如何增加python unittest中的详细程度?没有帮助。

4

3 回答 3

7
if __name__ == '__main__':
    unittest.main(verbosity=2)

见:https ://docs.python.org/2/library/unittest.html

于 2015-06-17T18:10:27.953 回答
5

或者,您可以直接使用unittest.TextTestRunner来运行您的测试。这允许设置详细级别:

suite = unittest.TestLoader().loadTestsFromTestCase(TestCaseClass)
unittest.TextTestRunner(verbosity=2).run(suite)

这将从内部运行所有测试TestCaseClass

于 2012-10-23T15:54:59.063 回答
3

您可以set_verbose从单元测试的setUp方法中调用。

于 2012-10-23T15:45:43.970 回答