用途:该技能用于指导在实现任何功能或修复缺陷时,先写测试再写实现代码,确保测试真正验证目标行为。
主要能力:强调红-绿-重构循环。RED 阶段写一个最小失败测试并确认其因正确原因失败;GREEN 阶段写最简代码使其通过;REFACTOR 阶段清理代码并保持测试通过,不新增行为,然后进入下一个失败测试。核心原则是:如果没有亲眼看到测试失败,就不知道它是否测试了正确的东西。
使用方式:在开始新功能、缺陷修复、重构或行为变更时应用。例外情况(如一次性原型、生成代码、配置文件)需先征得人类伙伴同意。铁律为“没有失败测试就不写生产代码”。若先写了代码,应删除并从头开始,不保留为参考、不在写测试时改编、不查看,删除即删除。
适用场景:新功能开发、缺陷修复、重构、行为变更。
限制与警示:测试立即通过、无法解释失败原因、以“已手动测试”“事后补测试效果相同”“保留作参考”“已花很多时间删除浪费”“TDD 太教条”“这次情况不同”等理由跳过,均属危险信号,应删除代码重新按 TDD 开始。最终规则:生产代码必须有先失败过的测试,否则不算 TDD;未经人类伙伴许可不得例外。详细示例与步骤见 references/tdd-detailed-process.md,顺序重要性说明见 references/why-order-matters.md,测试准则与卡住时指南见 references/tdd-guidelines.md。