unittest:测试时增加模块的详细程度

时间:2012-10-23 15:40:10

标签: python unit-testing

我有一个模块mymodule,我使用unittest进行测试。当处于详细模式(例如mymodule.set_verbose(True))时,模块将记录到stdout诊断消息,否则保持静默。我希望当我在主程序中导入模块时,它处于静默模式,当unittest运行时,它是详细的。

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

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

How to increase verbosity in python unittest?没有帮助。

3 个答案:

答案 0 :(得分:6)

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

请参阅:https://docs.python.org/2/library/unittest.html

答案 1 :(得分:4)

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

答案 2 :(得分:3)

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

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

这将在TestCaseClass内运行所有测试。