用途:该技能是测试驱动开发(TDD)的参考指南,适用于用户希望以测试先行方式构建功能或修复缺陷、提到“red-green-refactor”或需要集成测试的场景。核心是红→绿循环,目标是让循环产出值得保留的测试。
主要能力:说明什么是好测试、测试应放在哪里、常见反模式以及循环规则。好测试通过公共接口验证行为,而非实现细节;代码可以完全改变,测试不应随之改变。测试应读起来像规格说明,例如“user can checkout with valid cart”,并能经受重构。
接缝(seams):接缝是测试所在的公共边界,即观察行为而无需深入内部的接口。测试只写在预先商定的接缝处。写任何测试前,先写下待测接缝并与用户确认;未确认的接缝不写测试。应询问:“公共接口是什么,我们应该测试哪些接缝?”当接口形态本身存疑时,可调用 Skill 工具并传入“codebase-design”获取模块、接口、深度、接缝、适配器、杠杆和局部性等术语。
反模式:实现耦合(mock 内部协作者、测试私有方法或通过侧信道验证,重构时测试失败但行为未变);同义反复(断言以与代码相同的方式重算期望值,如 expect(add(a, b)).toBe(a + b),或手工推导的快照、常量自等,期望值必须来自独立事实来源);水平切片(先写所有测试再写实现,应改为垂直切片:一个测试→一个实现→重复)。
循环规则:红先于绿,先写失败测试,再写刚好通过的最少代码,不预判未来测试或添加推测性功能;一次一个切片,每轮一个接缝、一个测试、一个最小实现;重构不属于该循环,属于评审阶段(见 code-review 技能)。探索代码库时,若存在 CONTEXT.md 应阅读,使测试名称和接口词汇匹配项目领域语言,并遵守所触及区域的 ADR。
限制:资料未提供具体安装命令、平台支持、收费或价格信息。