Flaky Test Triage
精选按需触发测试最多 5 轮
关于 Flaky Test Triage
该循环由手动触发,针对指定的失败测试套件。每一轮运行失败的测试,把每个失败归为不稳定或真实回归,仅修复真实回归,再重新运行确认结果是否稳定,最多 5 轮。
主要功能
- 01手动触发,最多 5 轮
- 02只修改真实回归,不对不稳定测试做无关改动
- 03无法立即修复的回归可以明确标注为暂缓
- 04支持 Claude Code 与 Cursor
适用场景
- 01CI 上某个测试套件时好时坏
- 02合并后出现几处失败,不确定是否由改动引起
- 03发布前清理测试失败项
- 目标
- 每个失败的测试都被判定为不稳定或真实回归,且真实回归已修复或被明确暂缓。
- 退出条件
- 所有失败均已分类,并且真实回归已修复或明确暂缓时停止;达到 5 轮也停止。
- 每轮之间运行
- npm test -- --testPathPattern=<failing-suite>
启动提示词
在 Claude Code / Cursor 中粘贴运行,Agent 会按下面的步骤循环执行,直到满足退出条件。
prompt.md
开始运行“Flaky Test Triage”循环。 目标:每个失败的测试都被判定为不稳定或真实回归,且真实回归已修复或被明确暂缓。 最大轮数:5。 第 1 步:运行失败的测试 — 用 --testPathPattern 指定失败的套件并运行,记录哪些测试失败以及报错内容。 `npm test -- --testPathPattern=<failing-suite>` 第 2 步:分类失败原因 — 对每个失败判断:同样的代码是否有时通过有时失败。结果不一致的归为不稳定,稳定复现的归为真实回归。 第 3 步:修复真实回归 — 只修改导致真实回归的代码。暂时无法处理的回归,记录原因并标为暂缓。 第 4 步:确认稳定性 — 再次运行同一套件,查看修复后的结果是否一致。仍有未分类的失败时进入下一轮。 `npm test -- --testPathPattern=<failing-suite>` 每轮之间运行:`npm test -- --testPathPattern=<failing-suite>` 退出条件:所有失败均已分类,并且真实回归已修复或明确暂缓时停止;达到 5 轮也停止。
步骤
每一轮按顺序执行;未满足退出条件会进入下一轮,最多重复 5 轮。
01
运行失败的测试
用 --testPathPattern 指定失败的套件并运行,记录哪些测试失败以及报错内容。
$
npm test -- --testPathPattern=<failing-suite>02
分类失败原因
对每个失败判断:同样的代码是否有时通过有时失败。结果不一致的归为不稳定,稳定复现的归为真实回归。
03
修复真实回归
只修改导致真实回归的代码。暂时无法处理的回归,记录原因并标为暂缓。
04
确认稳定性
再次运行同一套件,查看修复后的结果是否一致。仍有未分类的失败时进入下一轮。
$
npm test -- --testPathPattern=<failing-suite>未通过 → 下一轮满足条件即退出
支持的 Agent
可以直接运行这个 Loop 的编码 Agent。
Claude Code
Cursor
评论
支持 Markdown