用途:在构建功能或修复缺陷时按测试驱动开发(TDD)流程工作,适用于用户提到红-绿-重构、希望用 TDD 开发等场景。
核心理念:测试应通过公共接口验证行为,而非实现细节。好的测试是集成风格,走真实代码路径,读起来像规格说明,能在重构后继续通过;坏的测试耦合实现,mock 内部协作者、测私有方法或绕过接口直接查数据库,重构即失败。
反模式:禁止水平切片,即先写完所有测试再写所有实现。正确做法是垂直切片加曳光弹:一个测试对应一个实现,循环推进,每个测试回应上一轮学到的内容。
工作流:一、规划。探索代码库时使用项目领域词汇表,遵守相关 ADR;写代码前与用户确认接口变更、要测试的行为(按优先级)、深模块机会、可测试的接口设计,列出行为清单并获用户批准。二、曳光弹。写一个测试确认一件事,红:测试失败;绿:写最小代码使其通过,证明路径端到端可用。三、增量循环。对每个剩余行为重复红-绿,一次一个测试,只写够通过当前测试的代码,不预判未来测试。四、重构。全部通过后提取重复、深化模块、应用 SOLID,每步后运行测试;绝不在红灯时重构。
每轮检查清单:测试描述行为而非实现;只用公共接口;能经受内部重构;代码对当前测试最小;不添加投机功能。
限制:资料未提供具体安装命令、支持平台、收费方式或代码示例细节,相关文件如 tests.md、mocking.md 的内容暂未提供。