test-driven-development
以测试驱动开发。当实现任何逻辑、修复任何 bug 或更改任何行为时使用。当需要证明代码能工作、收到 bug 报告或即将修改现有功能时使用。
技能说明addyosmani/agent-skills
以测试驱动开发。当实现任何逻辑、修复任何 bug 或更改任何行为时使用。当需要证明代码能工作、收到 bug 报告或即将修改现有功能时使用。
技能简介
该技能指导以测试驱动开发:在编写实现代码之前先编写失败测试,用测试证明代码行为正确。它适用于实现新逻辑、修复 bug 或修改现有功能,能把“看起来没问题”变成“有测试证明没问题”。
使用场景
- 实现新逻辑或新行为时
- 修复 bug 时(先用测试复现 bug)
- 修改已有功能或添加边界情况处理时
- 任何可能破坏现有行为的改动前
- 收到 bug 报告,或需要证明代码可以正常工作时
使用方法
本技能以 Agent/Skill 形式启用。触发后按以下步骤执行:
- 先摸清仓库测试方式:检查
package.json、pyproject.toml、build.gradle、Makefile等,优先使用仓库自带封装命令(如./gradlew test、./mvnw test、make test)。不要假设默认npm test适用于所有项目。 - RED:先写一个失败测试,运行确认它确实失败。
- GREEN:写最少代码让测试通过,不要过度设计。
- REFACTOR:在测试保持通过的前提下清理实现。
- 循环以上过程,完成前运行完整测试套件,确保没有回归。
如果是浏览器相关改动,可结合 Chrome DevTools MCP 做运行时验证。
注意事项
- 不要用于纯配置修改、文档更新或静态内容改动。
- 修 bug 时不要直接动手改,先写能复现 bug 的测试,确认失败后再修。
- 测试应遵循金字塔原则:约 80% 小型快速单元测试、15% 集成测试、5% E2E 测试。
- “Beyonce 规则”:如果改动没有测试保护,出了问题只能怪自己。