[英]nosetests relaunch test if error happend
我在我的python项目中使用鼻子的TestSuite进行单元测试。
问题是我的项目与第三方沙箱链接并通过api进行通信,但有时错误来自于他们。 因此,我试图找到一种方法,如果由于特定错误而导致测试失败,则可以重新启动该测试。
是否有人已经在TestSuite中完成此操作? 或有一个想法怎么做?
谢谢
1)我经常在测试中重试远程代码,而不是重新运行整个测试。
2)但是,如果您真的想重复所有失败的测试,并且没有人提出更好的解决方案,则可以编写一个自定义的testrunner,并使用api之类的东西
#in unittest.TestCase
retryManager.logFailure(test=self, error)
#where you run tests
for test in retryManager.failedTests
suite = unittest.TestLoader().loadTestsFromTestCase(testclass)
testResult = unittest.TextTestRunner(verbosity=2).run(suite)
如果您不想捕获异常,还可以使用testResult.wasSuccessful()
查看测试是否成功
RetryManager仅仅是故障的存储库/日志。
3)使用pytest,它具有以下内置功能: http ://pytest.org/latest/xdist.html#looponfailing
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.