用途:该技能是红→绿循环的参考,帮助以测试优先方式开发功能或修复缺陷,并让循环产出值得保留的测试。用户提到“red-green-refactor”或需要集成测试时适用。
主要能力:说明什么是好测试、测试应放在哪里、常见反模式以及循环规则。好测试通过公共接口验证行为,而非实现细节;代码可完全改变而测试不应改变,测试读起来像规格说明,并能经受重构。测试应位于“接缝”(seam),即观察行为的公共边界,绝不针对内部实现。
使用方式:探索代码库时,若存在 CONTEXT.md 应阅读,使测试名称与接口词汇匹配项目领域语言,并遵守所涉区域的 ADR。写任何测试前,先写下待测接缝并与用户确认;未确认的接缝不写测试。可询问:“公共接口是什么,我们应该测试哪些接缝?”循环规则:红先于绿,先写失败测试,再只写足够通过的代码;一次一个切片,一个接缝、一个测试、一个最小实现;重构不属于该循环,属于评审阶段。
反模式:实现耦合(模拟内部协作者、测试私有方法或通过侧信道验证,重构时测试失败但行为未变);同义反复(断言以与代码相同方式重算期望值,如 expect(add(a, b)).toBe(a + b),或手工以相同方式推导快照、常量自等,期望值须来自独立事实来源);水平切片(先写全部测试再写全部实现,应改为垂直切片:一个测试→一个实现→重复)。
限制:资料未提供安装命令、收费、平台或具体代码示例;tests.md 与 mocking.md 仅被引用,内容暂未提供。