test-driven-development

以测试驱动开发。当实现任何逻辑、修复任何 bug 或更改任何行为时使用。当需要证明代码能工作、收到 bug 报告或即将修改现有功能时使用。

提供方:addyosmani/agent-skills调用次数:4.7k收藏:493更新:2026/08/28

技能说明addyosmani/agent-skills

以测试驱动开发。当实现任何逻辑、修复任何 bug 或更改任何行为时使用。当需要证明代码能工作、收到 bug 报告或即将修改现有功能时使用。

技能简介

该技能指导以测试驱动开发:在编写实现代码之前先编写失败测试,用测试证明代码行为正确。它适用于实现新逻辑、修复 bug 或修改现有功能,能把“看起来没问题”变成“有测试证明没问题”。

使用场景

  • 实现新逻辑或新行为时
  • 修复 bug 时(先用测试复现 bug)
  • 修改已有功能或添加边界情况处理时
  • 任何可能破坏现有行为的改动前
  • 收到 bug 报告,或需要证明代码可以正常工作时

使用方法

本技能以 Agent/Skill 形式启用。触发后按以下步骤执行:

  1. 先摸清仓库测试方式:检查 package.jsonpyproject.tomlbuild.gradleMakefile 等,优先使用仓库自带封装命令(如 ./gradlew test./mvnw testmake test)。不要假设默认 npm test 适用于所有项目。
  2. RED:先写一个失败测试,运行确认它确实失败。
  3. GREEN:写最少代码让测试通过,不要过度设计。
  4. REFACTOR:在测试保持通过的前提下清理实现。
  5. 循环以上过程,完成前运行完整测试套件,确保没有回归。

如果是浏览器相关改动,可结合 Chrome DevTools MCP 做运行时验证。

注意事项

  • 不要用于纯配置修改、文档更新或静态内容改动。
  • 修 bug 时不要直接动手改,先写能复现 bug 的测试,确认失败后再修。
  • 测试应遵循金字塔原则:约 80% 小型快速单元测试、15% 集成测试、5% E2E 测试。
  • “Beyonce 规则”:如果改动没有测试保护,出了问题只能怪自己。