mcpField

Flaky Test Triage

精选按需触发
测试最多 5 轮

关于 Flaky Test Triage

该循环由手动触发,针对指定的失败测试套件。每一轮运行失败的测试,把每个失败归为不稳定或真实回归,仅修复真实回归,再重新运行确认结果是否稳定,最多 5 轮。

主要功能

  1. 01手动触发,最多 5 轮
  2. 02只修改真实回归,不对不稳定测试做无关改动
  3. 03无法立即修复的回归可以明确标注为暂缓
  4. 04支持 Claude Code 与 Cursor

适用场景

  1. 01CI 上某个测试套件时好时坏
  2. 02合并后出现几处失败,不确定是否由改动引起
  3. 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