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