测试驱动开发 (Test-Driven Development)
测试类
实现任何功能或修复 bug 前使用,在编写实现代码之前。
快速入门
30 秒理解
先写测试。看它失败。写最小代码通过。
核心原则: 如果没有看到测试失败,你不知道它测试了正确的东西。
何时使用
- 新功能
- Bug 修复
- 重构
- 行为变更
完整指南
铁律
没有失败测试先行,就没有生产代码RED-GREEN-REFACTOR 循环
RED - 编写失败测试
- 一个行为
- 名称清晰
- 真实代码
验证 RED - 观察它失败
必须执行。永远不要跳过。
GREEN - 最小编码
编写最简单的代码来通过测试。
验证 GREEN - 观察它通过
必须执行。
REFACTOR - 清理
只在 GREEN 之后:消除重复、改进命名、提取辅助函数
红旗警告
- 测试前编写代码
- 实现后编写测试
- 测试立即通过
- 无法解释为什么测试失败
所有这些都意味着:删除代码。用 TDD 重新开始。
相关技能
前置技能
- brainstorming - 了解要构建什么
后续技能
- verification-before-completion - 完成前验证