用途:在所有新功能、缺陷修复和重构任务中强制践行 TDD 纪律。核心规则是你若未亲眼看到测试失败,就无法确认测试是否检验了正确的行为。
主要阶段(不可跳过): 一、RED——先写失败测试,且在写实现之前写。测试应描述期望行为、能因正确原因失败、覆盖即将实现的具体场景;运行后必须看到失败,若写实现前就通过,说明测试有误。示例命令:npm test -- --testPathPattern="user-filter",预期 FAIL。 二、GREEN——编写让测试通过的最小实现,不加多余功能、不做优化、不处理尚未被测试覆盖的边界情况。运行命令同上,预期 PASS。 三、REFACTOR——在保持测试全绿的前提下重命名、抽取、简化;不引入新行为。可连续运行:npm test -- --watch --testPathPattern="user-filter"。若变红,回退并找出原因。
扩展覆盖(Expand-Contract):先让新测试失败,再写最小实现,按快乐路径、空/null、边界值、错误路径、并发顺序推进,最后统一重构。
测试范围:应测公共 API 表面、业务逻辑决策、数据转换、错误处理;不测实现细节、第三方库行为、框架内部。单元测试需 mock 外部依赖(数据库、API、文件系统),集成测试可连真实依赖。
覆盖门禁:npm run test:coverage,要求分支、函数、行、语句均不低于 80%,不达标先补测试。
红牌警告:先写实现后补测试、从未见测试失败、测实现而非行为、跳过重构、一次写多个失败测试、未先失败就加边界用例。出现这些应撤回最近绿态,从 RED 重新开始。
该技能处于工作流中 brainstorming、writing-plans 之后,与 subagent-driven-development、verification-before-completion 等衔接。具体支持语言、框架、环境及安装方式暂未提供。