| name | test-driven-development |
| description | 测试驱动开发。遵循 RED-GREEN-REFACTOR 循环:先写失败的测试,再写最少的代码让测试通过,最后重构。用于编写新功能或修复 bug 时。 |
测试驱动开发技能
严格遵循 TDD 的 RED-GREEN-REFACTOR 循环。
核心原则
- 永远先写测试 - 没有失败的测试就不写生产代码
- 最小实现 - 只写让测试通过的最少代码
- 持续重构 - 测试通过后立即重构
工作流程
RED 阶段(红灯)
- 明确要实现的行为
- 编写一个描述该行为的测试
- 运行测试,确认它失败
- 确认失败原因是功能未实现,不是测试本身的问题
GREEN 阶段(绿灯)
- 写最简单的代码让测试通过
- 不要过度设计
- 运行测试,确认通过
- 立即提交
REFACTOR 阶段(重构)
- 检查代码是否有重复
- 检查命名是否清晰
- 检查是否遵循单一职责
- 运行测试确认没有破坏功能
- 提交重构
反模式警告
避免以下行为:
- ❌ 先写代码再补测试
- ❌ 一次性写太多测试
- ❌ 测试通过前就开始重构
- ❌ 跳过失败测试的验证步骤
测试命名规范
test_[被测功能]_[场景]_[期望结果]
示例:
test_login_with_valid_credentials_returns_token
test_login_with_invalid_password_returns_401