python - 我们如何决定使用 unittest.main()、测试套件还是实例化对象和运行方法?
问题描述
您好,我有几种运行单元测试的方法。
- 使用 unittest.main() :
if __name__ == '__main__':
unittest.main()
- 套房:
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())
- 对象实例化:
if __name__ == '__main__':
Obj = WidgetTestCase()
Obj.methodname() # this can either be one of test methods or a method that invokes multiple test methods.
为什么我们有很多方法可以做同样的事情?如何决定使用哪种方法?
解决方案
这是粒度和易用性的问题。
main() 是最简单和流行的形式。你只需运行你的模块,它就会为你发现所有的测试,你不必什么都不做。
其他方法使您可以更好地控制要测试的内容。
推荐阅读
- vue.js - gRPC 设置问题
- python - ValueError:找不到令牌种子!https://translate.google.com 有变化吗?
- database - 如何从 HerokuApp 访问我的数据库?
- python - 支付率程序(TypeError:*:'NoneType' 和 'float' 不支持的操作数类型)
- asp.net-core-2.1 - 在 ASP.net 核心中使用信号器强制注销
- angular - 现有选择控件中新添加的选项未反映在角度视图中
- python - 从列表列表中获取边框元素
- html - 如何并排布局两个div元素
- python - 如何在 C# 中的列表中创建列表?
- html - 我的个人资料页面不适用于使用引导 css 和 html 的手机屏幕