SuperAPI AI 工具集

tdd

测试与质量

查看项目

更新于 10-16 03:49

技能介绍

用途:TDD 技能围绕红→绿循环,帮助团队写出值得保留的测试。用户在测试先行构建功能、修复缺陷、提到 red-green-refactor 或需要集成测试时可使用。

主要能力:说明什么是好测试、测试应放在哪里、常见反模式,以及循环规则。好测试通过公共接口验证行为,不绑定实现细节;代码可完全改变,测试不应随之改变。测试应像规格说明,例如“user can checkout with valid cart”,并能在重构后继续有效。探索代码库时,若存在 GLOSSARY.md 应阅读,使测试命名和接口词汇匹配项目领域语言,并遵守所涉区域的 ADR。

接缝与位置:接缝是测试所在的公共边界,即观察行为而不深入内部的接口。测试只写在预先约定的接缝上。写测试前,先写下待测接缝并与用户确认;未确认的接缝不写测试。可问:“公共接口是什么,我们应该测试哪些接缝?”当接口形态本身存疑时,可调用 Skill 工具并使用 codebase-design 获取模块、接口、深度、接缝、适配器、杠杆和局部性等词汇。

反模式:实现耦合,如模拟内部协作者、测试私有方法或通过侧信道验证;判定信号是重构后行为未变但测试失败。同义反复,即断言以与代码相同方式重算期望值,导致按构造通过;期望值须来自独立事实来源,如已知良好字面量、演算示例或规格。水平切片,即先写完所有测试再写实现;应改为垂直切片,一个测试→一个实现→重复。

循环规则:先红后绿,先写失败测试,再只写足够通过的代码,不预判未来测试或添加投机功能。一次一个切片,每个循环一个接缝、一个测试、一个最小实现。重构不属于循环,属于审查阶段。

限制:资料未提供具体安装命令、价格、平台或效果数据;测试接缝与范围需与用户确认,不可测试一切。