Claude Code 写代码总跳过测试?这个 TDD 强制插件把 Agent 关回红绿循环

让 AI 写代码这件事,最大的坑从来不是”它写不出来”,而是”它太快了”。

你说”加个用户登录”,Claude Code 噼里啪啦给你写完 controller、service、路由,等你跑测试才发现——根本没人要求它先写测试。这就是 TDD 流程被绕过的经典现场

为什么需要 TDD Guard

我们团队去年推 Claude Code 的时候,遇到过一模一样的痛:Agent 太好说话了,只要你说”实现 XX”,它就直奔 production code,红绿循环直接跳过。

知道问题在哪但拦不住——直到我看到 nizos/tdd-guard 这个插件。GitHub 2k ⭐,专门给 Claude Code 做 TDD 强制执行:Agent 写代码前,会被 Hook 拦下来,问一句”测试呢?”

它具体干什么

  • Test-First Enforcement:没失败测试就不准写实现代码,硬规则
  • Minimal Implementation:别多写,当前测试只需要什么就写什么,防止过度实现
  • Lint 集成:重构阶段强制走 lint,顺手把”改完测试还跑不过”的问题挡住
  • 可配置规则:你团队怎么写 TDD,插件就能怎么校验
  • 可切换验证模型:快和准可以二选一
  • Session 级开关:聊到一半想关掉写点 demo 代码?一键关,不用改配置

安装两行命令搞定

Claude Code 里跑:

/plugin marketplace add nizos/tdd-guard
/plugin install tdd-guard@tdd-guard
/tdd-guard:setup

setup 会自动识别你的测试框架——目前已经支持 Vitest、Jest、pytest、PHPUnit、Go、Rust/cargo、Storybook、RSpec、Minitest,基本覆盖主流后端栈。Python、PHP、Rust、Go、Ruby 都有专门的 contributor 维护,不是单人项目。

实测体验

装完之后,你让 Claude “实现一个购物车结算接口”,它会先问”测试用例长什么样?”,你写完测试跑出红色,它才开始动 production code。中途想偷懒多写点?Hook 直接拒绝,告诉你”测试还没要求这个”。

这种约束对个人开发者可能有点烦,但放在团队里就是护城河——你再也不用 review 时反复问”为什么这块没测试”

顺便一提,作者已经把项目演进成 Probity,支持 Claude Code、Codex、GitHub Copilot CLI,新项目建议直接去那边;老项目继续用 tdd-guard 也行,还在维护。

做严肃工程项目的开发者,这个插件值得放进工具箱。

👉 GitHub: nizos/tdd-guard


GitHub: https://github.com/nizos/tdd-guard

评论区

0 条评论

登录后可评论。

江望 16 阅读