用途:这是一项关于测试驱动开发(TDD)的技能说明,主张“先写测试、看它失败、再写最小代码让它通过”。核心原则是:若没有亲眼看到测试失败,就无法确定测试是否验证了正确的东西。它是为顺利交付服务的强默认做法,而非凌驾于交付之上的铁律,应按风险高低使用。
主要能力与流程:红-绿-重构循环。RED 阶段写一个最小测试,命名清晰、只测一个行为、使用真实代码(除非万不得已不用 mock);随后必须运行测试并确认它以预期原因失败(功能缺失而非拼写错误)。GREEN 阶段写能让测试通过的最简单代码,不添加额外功能、不重构其他代码。再运行测试确认通过、其他测试仍通过、输出干净。REFACTOR 阶段仅在绿灯后清理重复、改进命名、抽取辅助函数,保持测试绿色,不新增行为。如此循环推进。
适用场景:新功能、缺陷修复、重构、行为变更等回归风险值得投入的场景。对于一次性原型、生成代码、配置文件等,可选择相称的验证方式,不必套用完整仪式。
必要用法与验证:示例命令 npm test path/to/test.test.ts 用于观察失败与通过。检查要点包括测试覆盖所选行为结果、每个测试在实现前确实失败过、失败原因为功能缺失、写了最小通过代码、全部测试通过、输出无错误警告、尽量使用真实代码、覆盖边界与错误情况。
限制:若已先写实现,需保留既有与他人代码的字节,在隔离副本或可逆地搁置自有改动后建立失败基线;本技能不授予删除代码的权限。若无法演示失败基线,应记录该限制并遵循所选流程,不得把事后补测称为 TDD。未能满足的所选检查应保持可见,按流程处理,不应将其变成未选工作的网关,也不应通过删代码来伪造测试先行。具体项目、使命或切片的流程与权限要求,以相应选择为准。