如何重新 运行 失败测试并为 python3 py.test 设置重试

How to re-run Failed Test and set re-tries for python3 py.test

我几乎没有发送 http 请求的 web 服务相关测试,响应由 py.test 个测试用例验证。我通常在 50 次测试中有 1 次或 2 次失败,这些测试由于间歇性缓慢的 Web 服务器响应收集或网络问题而失败。

有没有一种方法可以在实际将 py.test 测试用例标记为失败之前重新 运行 或添加退休次数?像 运行 测试 3 次,然后将其标记为失败并移动到下一个,如果测试在任何尝试中通过(1 或 2 或 3)将其标记为通过?

flaky 描述了您的问题的可能解决方案: https://github.com/box/flaky -- 默认允许重新运行次失败测试,​​最多n次。

您也可以尝试使用 Looponfail:https://pytest.org/latest/xdist.html。虽然它在技术上意味着允许更改与失败测试关联的文件,但它仍然会在失败后暂停你正在 运行 的测试。

希望对您有所帮助。