首页/开发/代码质量与评审速查/评审时如何对待 flaky 测试
代码评审64 条

评审时如何对待 flaky 测试

不稳定的测试会侵蚀信任:评审新增或修改测试时,检查时间依赖、随机数据、共享状态与外部依赖等常见不稳定来源。

  • 时间依赖:用可注入的时钟替代 sleep 与真实时间
  • 随机数据:固定种子;失败时输出可复现信息
  • 共享状态:测试间彼此独立,可任意顺序执行
  • 外部依赖:网络与第三方用桩(stub)或本地假实现
对已知 flaky 测试:不要用重试掩盖,先标记并立任务修复。
标记方式CI 平台打 flaky 标签并记录失败率,避免口口相传
处理顺序先定位不稳定来源,再决定修测试还是修被测代码

易错点

  • 重试三次当修复:不稳定源仍在,还掩盖真实缺陷
  • 跳过不稳定测试继续合并:CI 绿灯失去意义

数据来源与参考

  • Google Testing Blog(flaky 测试治理文章)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌