用途:该技能规定新增或修改可观察的生产行为时,必须先以一条失败的行为测试为起点,遵循 RED-GREEN-REFACTOR 循环;它是工作流本身,不是全部工具集,需与 testing、mutation-testing、refactoring、front-end-testing(React 用 react-testing)及仓库声明的架构技能配合使用。不适用于纯行为保持型重构、机制精简、或仅要求计划的请求。
主要能力:RED 阶段禁止在失败测试前写生产代码,测试描述期望行为而非实现,并需确认因正确原因失败;GREEN 阶段只写让测试通过的最小代码,允许硬编码返回后再用第二个测试三角化;REFACTOR 阶段用通过的测试作为安全网评估结构改进。内部循环强调快速反馈,不每次编辑都跑全量测试,优先使用仓库自带的可复用 watcher,否则用变更选择或受影响的单次运行;AI/非交互场景下无法稳定持有常驻 watcher 时改用等价的受影响单次命令。
使用方式:运行示例保留原文中的命令,例如 pnpm test:watch、pnpm exec vitest --changed origin/main --watch、pnpm exec vitest related src/example.ts --watch、pnpm exec vitest related --run src/example.ts、pnpm exec vitest --changed origin/main --run、pnpm exec vitest run tests/example.test.ts -t "rejects empty names"、pnpm exec jest --watch、pnpm exec jest --watch --changedSince=origin/main、pnpm exec jest --findRelatedTests src/example.ts --watch=false、pnpm exec playwright test --only-changed 等;仓库自有命令优先于通用示例。watch 命令不得用于 CI、Git 钩子或有终止要求的脚本,有限命令需用 vitest run、--run、--watch=false 强制结束。阶段结束进入 PR 就绪门禁时,停止所有 watcher,执行 mutation testing 或记录 N/A 与替代证据,再运行非 watch 的完整 PR 检查。
适用场景与限制:适用于 PR 粒度的独立可合并切片;monorepo 中应从仓库根执行变更/受影响选择,避免仅按被编辑文件 cd 或加 --project。覆盖率为诊断而非通用目标;不得为凑工作流而伪造失败测试或结构性变异体。最终回复需报告 RED 运行、GREEN 运行与完成的非 watch 全量运行,并以一行说明变异门禁结果。