让 AI 先写测试再写代码!28万星的 TDD Skill 来了

写代码前先写测试?这套 TDD 框架让 AI 替你守住纪律

做过 TDD 的工程师都知道这流程有多反人性——先写一个必定失败的测试,再写代码让它通过,最后才允许你动”歪脑筋”做重构。大多数人坚持不过三天,就会开始找借口跳过 RED 阶段。

现在有个叫 test-driven-development 的 Skill,给 Claude Code 装上之后,AI 会强制替你的每行代码写下测试。GitHub 上这个仓库(obra/superpowers)拿了 28 万星,光这一个 Skill 累计被安装超过 20 万次。

核心理念:铁律——没有失败测试就不准写生产代码

Skill 开篇就立了一条铁律,叫 The Iron Law:

NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST

你让 Claude 写代码,它第一反应不是去写实现,而是先问你:”要测试什么行为?”然后写出那个必定失败的测试,跑一遍,确认失败原因符合预期,才去写最小化的通过代码。

这解决了一个很现实的问题:AI 生成代码的时候,经常会”错觉自己写得对”——没有测试约束,它就按最省力的方式完成任务,而不是按最正确的方式。

RED-GREEN-REFACTOR 三段式,AI 比你还较真

Skill 里有张流程图,清晰到可以直接当团队规范贴在墙上:

  • RED:写一个失败的测试,跑一遍,确认失败原因是你预期的那种失败(而不是语法错误)
  • GREEN:写最小化代码让测试通过,跑完整 suite,确保其他测试没被污染
  • REFACTOR:在测试全绿的前提下清理代码,但绝不加新行为

最实用的是每一步都有 必须执行的验证命令(`npm test path/to/test.test.ts`),AI 不会跳过,开发者也很难糊弄过去。

适合哪些人

  • 团队刚引人 AI 编程,想给 AI 一个”质量门禁”的
  • 自己 TDD 坚持不下去,想找个外力约束的
  • 接手上古代码库,想一点点写测试覆盖的
  • 做 Code Review 每次被吐槽”测试不够”的

怎么装

一行命令搞定:

npx -y skills add @obra/superpowers/test-driven-development --agent claude-code

装完只要对 Claude 说”用 TDD 来实现这个功能”,它就会自动加载 Skill,进入 RED 阶段。整个过程不需要你改任何配置。

GitHub:https://github.com/obra/superpowers


GitHub: https://github.com/obra/superpowers

评论区

0 条评论

登录后可评论。

江望 44 阅读