我几乎没有发送http请求的Web服务相关测试,并且py.test测试用例验证了响应。我通常会在50次测试中遇到1或2次失败,这些失败是由于间歇性的慢速Web服务器响应收集或由于网络而导致失败。
有没有办法在py.test测试用例中重新运行或添加退休数量,然后才真正将其标记为失败?在将其标记为失败并移至下一个测试之前运行测试3次,如果测试通过任何尝试(1或2或3)将其标记为已通过?
答案 0 :(得分:4)
flaky描述了您的问题的可能解决方案: https://github.com/box/flaky - 它允许重新运行失败的测试一次作为默认值,或最多n次。
您也可以尝试使用Looponfail:https://pytest.org/latest/xdist.html。虽然它在技术上意味着允许更改与失败测试相关联的文件,但它仍然会暂停您在失败后运行的测试。
希望这有帮助。