用途:该技能用于以测试驱动开发(TDD)方式构建功能或修复缺陷,核心是红-绿-重构循环。
主要能力与原则:测试应通过公共接口验证行为,而非实现细节;好的测试是集成风格,描述系统做什么而非怎么做,能经受重构。避免与实现耦合的测试,例如模拟内部协作者、测试私有方法或绕过接口直接查数据库。
反模式:禁止横向切片,即先写全部测试再写全部实现。正确做法是纵向切片(曳光弹):一个测试对应一个实现,循环推进。
工作流程:1)规划:使用项目领域词汇,确认接口变更与要测试的行为,识别深模块,设计可测试接口,列出行为清单并获得用户批准。2)曳光弹:写一个测试确认一件事,先失败再写最小代码通过。3)增量循环:每次一个测试,只写足够通过当前测试的代码,不预判未来测试。4)重构:全部通过后提取重复、深化模块、应用SOLID,每步后运行测试;红灯时绝不重构。
每轮检查清单:测试描述行为而非实现、仅用公共接口、能经受内部重构、代码最小化、不添加推测性功能。
限制:资料未提供具体安装命令、平台支持、收费信息或代码示例细节。