用途:面向希望以测试优先方式开发功能或修复缺陷的开发者,采用红-绿-重构循环。核心原则:测试应通过公共接口验证行为,而非实现细节;好的测试读起来像规格说明,重构后仍能通过。
主要工作流:
- 规划:阅读 CONTEXT.md(若存在)使测试命名匹配项目术语,先与用户确认接口变更、优先测试的行为、列出要测试的行为(而非实现步骤)并获得批准。
- 曳光弹:写一个测试确认一件事,先失败再写最小代码使其通过。
- 增量循环:对每个剩余行为重复 写测试→失败→最小实现→通过,一次一个测试,不预判未来测试。
- 重构:全部通过后消除重复、加深模块、应用 SOLID,每步后跑测试;切勿在 RED 状态重构。
限制与反模式:禁止水平切片(先写完所有测试再写所有实现),这会产出臆想行为、与实现耦合的劣质测试。应使用垂直切片。每个周期检查:测试描述行为、仅用公共接口、能经受内部重构、代码最小化、无投机功能。