我们如何在使用unittest.main()、测试套件或实例化对象和运行方法之间做出决定



你好,我有几种运行单元测试的方法。

  1. 使用unittest.main((:
if __name__ == '__main__':
unittest.main()
  1. 套件:
def suite():
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase('test_default_widget_size'))
suite.addTest(WidgetTestCase('test_widget_resize'))
return suite
if __name__ == '__main__':
runner = unittest.TextTestRunner()
runner.run(suite())
  1. 对象实例化:
if __name__ == '__main__':
Obj = WidgetTestCase()
Obj.methodname() # this can either be one of test methods or a method that invokes multiple test methods.

为什么我们有很多方法可以做同样的事情?如何决定使用哪种方法?

这是一个粒度和易用性的问题。

main((是最简单和流行的形式。你只需运行你的模块,它就会为你发现所有的测试,你不必什么都不做。

其他方法可以让您更好地控制要测试的内容。

最新更新