mcpField

Autoloop TDD

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

关于 Autoloop TDD

该循环由手动触发,最多运行 12 轮,按测试先行的方式实现目标行为。每一轮依次写出失败的测试、让测试套件转绿,再在保持通过的前提下重构。

主要功能

  1. 01每轮固定为红、绿、重构的顺序
  2. 02先单独运行新测试,再运行完整测试套件
  3. 03重构后重新运行全部测试
  4. 04手动触发,最多 12 轮

适用场景

  1. 01以测试先行的方式开发新功能
  2. 02为缺陷先写出可复现的失败测试再修复
  3. 03在测试保护下整理刚完成的实现
目标
目标行为以测试先行的方式实现,且测试套件全部通过。
退出条件
目标行为已有测试覆盖,且所有测试通过时停止。
每轮之间运行
npm test

启动提示词

在 Claude Code 中粘贴运行,Agent 会按下面的步骤循环执行,直到满足退出条件。

prompt.md
开始运行“Autoloop TDD”循环。
目标:目标行为以测试先行的方式实现,且测试套件全部通过。
最大轮数:12。
第 1 步:编写失败的测试 — 为目标行为写一个新测试,并只运行这个测试。它应当因预期的原因而失败,否则需要先修正测试。 `npm test -- --testPathPattern=<new-test>`
第 2 步:确认转绿 — 写出刚好能让测试通过的最小实现,然后运行完整测试套件。新测试和既有测试都通过才算转绿。 `npm test`
第 3 步:重构 — 在不改变行为的前提下整理代码,再次运行完整测试套件。若出现失败,则撤回或修正重构,直到恢复全绿。 `npm test`
每轮之间运行:`npm test`
退出条件:目标行为已有测试覆盖,且所有测试通过时停止。

步骤

每一轮按顺序执行;未满足退出条件会进入下一轮,最多重复 12 轮。

01
编写失败的测试

为目标行为写一个新测试,并只运行这个测试。它应当因预期的原因而失败,否则需要先修正测试。

$npm test -- --testPathPattern=<new-test>
02
确认转绿

写出刚好能让测试通过的最小实现,然后运行完整测试套件。新测试和既有测试都通过才算转绿。

$npm test
03
重构

在不改变行为的前提下整理代码,再次运行完整测试套件。若出现失败,则撤回或修正重构,直到恢复全绿。

$npm test
未通过 → 下一轮满足条件即退出

支持的 Agent

可以直接运行这个 Loop 的编码 Agent。

Claude Code
Cursor

评论

支持 Markdown