python-3.x - 如何重新运行失败的测试并为 python3 py.test 设置重试

标签 python-3.x testing pytest

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

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

最佳答案

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

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

希望这对您有所帮助。

关于python-3.x - 如何重新运行失败的测试并为 python3 py.test 设置重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33894691/

相关文章:

python - pytest tmpdir 是否仅与函数参数相关联?

Python Asyncio 如何从队列中连续运行任务/协程

python - 将浮点四舍五入到一位小数(具体问题)

python - 测试 python 备忘录装饰器

java - 在现有的大型 Java 代码库中构建测试套件

testing - 打印功能的 Spock 测试输出

python - 如何告诉 PyCharm async fixture 返回了一些东西

python - 在 Lenovo 笔记本电脑上运行 “Windows fatal exception” 脚本时出现不需要的 “pywinatuo”

python - 当我不能使用 self 时如何上课 - Python

python - 为什么多线程和不同的函数/范围共享单个导入过程