用途:rlm-tdd 是 RLM 工作流第 3 阶段(实现)的强制技能,要求所有实现工作遵循测试先行纪律。核心原则是:如果你没有亲眼看到测试失败,就不知道它测的是不是正确的东西。铁律为“没有失败的测试就不写生产代码”。
主要能力:强制 RED-GREEN-REFACTOR 循环。RED 阶段写一个最小失败测试,每个测试只覆盖一个行为,名称清晰,测试真实代码(除非不可避免不用 mock),断言明确;随后必须运行测试并确认失败原因符合预期。GREEN 阶段只写刚好通过测试的最简代码,不加额外功能、不做“顺手”改进、暂不重构。REFACTOR 阶段在测试全绿后清理重复、改进命名、抽取辅助函数,且不得新增行为。
使用方式:在 RLM 第 3 阶段实现新功能、修复缺陷、重构或改变行为时触发。典型触发示例包括“为 run '2026-02-24-add-oauth' 实现 Phase 3”“先加一个失败的回归测试再修 bug”“我已经写完代码了,现在补测试”(会触发 TDD 重置指引)以及“对这个改动遵循 RED-GREEN-REFACTOR”。验证 RED 时使用命令如 npm test path/to/test.test.ts,并确认测试失败而非报错、失败信息符合预期、失败原因是功能缺失而非拼写错误。
记录要求:每个第 3 阶段产物必须包含 TDD 合规日志,记录每个需求的测试文件、RED 时间戳与失败输出、GREEN 时间戳与最简实现说明、REFACTOR 时间戳与清理内容,以及最终状态。覆盖门要求每个新函数有对应测试、每个缺陷修复有修复前失败的回归测试、所有 RED 阶段有失败输出记录、所有测试通过且无跳过、没有在失败测试之前写生产代码。审批门要求 TDD 合规为 PASS。
适用场景:RLM 第 3 阶段的所有实现工作,包括新功能、缺陷修复、重构和行为变更。
限制:无例外,不因“改动简单”“时间紧迫”或“事后补测试效果一样”而跳过。若出现代码先于测试、测试立即通过、打算稍后补测试、无法解释测试为何失败、测试 mock 行为而非真实行为、一个测试含多个行为等红旗信号,应删除代码并重新以 TDD 开始。资料未提供安装命令、收费或平台信息。