繁体   English   中英

鼻子测试重新启动测试,如果发生错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM