首页/开发/软件测试速查/pytest 失败重跑
自动化测试66 条

pytest 失败重跑

pytest-rerunfailures 提供 --reruns 失败自动重跑与 --reruns-delay 间隔控制,也可只对标记用例生效;重跑能缓解环境抖动,但不该静默忽略根因。

软件测试速查开发更新于 2026-10-12

重跑用法

重跑用法
pytest --reruns 2 --reruns-delay 1
# 仅对特定标记生效(需注册 flaky 标记):
# @pytest.mark.flaky(reruns=2, reruns_delay=1)
重跑会掩盖真实的偶发缺陷;建议统计重跑率并持续跟踪,把它当治理线索而不是解决方案。

易错点

  • 全量默认开启重跑,真实回归失败被重跑掩盖
  • 重跑间隔过短,抖动尚未恢复仍然失败,徒增执行时间

数据来源与参考

  • pytest-rerunfailures 项目文档(PyPI/GitHub)
  • Google Testing Blog(flaky 测试治理实践)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌