test-driven-development

当实现任何功能或 Bug 修复,在编写实现代码之前使用。

提供方:obra/superpowers调用次数:2.8k收藏:159更新:2026/08/28

技能说明obra/superpowers

当实现任何功能或 Bug 修复,在编写实现代码之前使用。

技能简介

这是一个帮助开发者在编写实现代码之前先编写测试的技能。它强制遵循“测试先行”的流程:先写一个失败的测试,再写最小代码让它通过,从而确保测试真正验证了目标行为,而非被实现代码“带偏”。

使用场景

  • 实现新功能
  • 修复 Bug
  • 进行代码重构
  • 修改既有行为
  • 需要验证测试确实能捕获预期 Bug 的场景

使用方法

  1. 安装/启用:将该 SKILL.md 文件放入你的 Agent 技能目录,或通过 skills add 命令引入(如使用 Claude Skills 或类似 CLI 技能管理工具)。
  2. 遵循 TDD 循环
    • RED:先编写一个最小、行为明确的测试(如 npm test 可运行的测试文件)。
    • 验证 RED:运行测试,确认它因功能缺失而失败(而非因语法错误)。
      npm test path/to/test.test.ts
      
    • GREEN:编写最简实现代码,让该测试通过。
    • 验证 GREEN:再次运行测试,确认通过且其他测试未受影响。
    • REFACTOR:在保持测试通过的前提下清理代码。
    • 重复:为下一个行为写下一个失败测试。

注意事项

  • 铁律:没有失败测试,不写任何生产代码;若已写,请直接删除重来。
  • 测试必须验证真实行为,不要用 Mock 替代真实代码逻辑。
  • 测试名称应描述行为而非含糊其辞(如 test1)。
  • 避免“事后补测试”——补写的测试往往直接通过,无法证明其能捕获 Bug。
  • 若遇到例外(如一次性原型、生成代码、配置文件),请先与人类伙伴确认。