用途:该技能用于指导测试驱动开发(TDD)流程,适用于实现任何新功能、修复缺陷、重构或改变行为时,在编写实现代码之前先写测试。
主要能力:围绕红-绿-重构循环展开。RED 阶段写一个最小测试,描述期望行为,命名清晰、只测一件事、尽量使用真实代码;随后必须运行测试并亲眼确认它因功能缺失而失败。GREEN 阶段只写让测试通过的最简代码,不额外加功能或重构。REFACTOR 阶段在测试保持通过的前提下消除重复、改进命名、抽取辅助函数。
使用方式:先写失败测试,运行 npm test path/to/test.test.ts 确认失败原因符合预期;再写最小实现,再次运行确认通过且其他测试仍通过、输出干净;最后重构并重复下一轮。缺陷修复时先写复现该缺陷的失败测试,再按循环修复。
适用场景:新功能、缺陷修复、重构、行为变更。例外情况包括一次性原型、生成代码和配置文件,但需先征得人类伙伴同意。
限制与要求:铁律是“没有先失败的测试,就没有生产代码”。若先写了实现代码,应删除并从头开始,不得保留作参考或边写测试边改编。测试立即通过说明它没有验证新行为,需修正测试。手动测试不能替代自动化测试。若不知如何测试、测试过于复杂或需要大量 mock,通常意味着设计需要简化或解耦。完成前需核对:每个新函数都有测试、亲眼看过每个测试失败、失败原因正确、实现最小、全部测试通过、输出干净、覆盖边界与错误情况。资料未提供具体安装命令、收费、平台或效果数据。