SuperAPI AI 工具集

tdd

测试与质量

查看项目

更新于 10-16 00:20

技能介绍

用途:该技能是红→绿循环的参考,帮助用户以测试先行方式构建功能或修复缺陷,产出值得保留的测试。适用于用户提到“red-green-refactor”或需要集成测试的场景。

主要能力:说明什么是好测试、测试应放在哪里、常见反模式以及循环规则。好测试通过公共接口验证行为,而非实现细节;测试应读起来像规格说明,如“user can checkout with valid cart”,并在重构后依然成立。探索代码库时,若存在 GLOSSARY.md 应阅读,使测试命名与接口词汇匹配项目领域语言,并尊重所涉区域的 ADR。

使用方式:测试只写在预先商定的接缝(seam)处。写任何测试前,先写下待测接缝并与用户确认,未确认的接缝不写测试。可询问“公共接口是什么,应测试哪些接缝?”并为每个提议接缝附一行说明其能捕获与遗漏什么。当接口形态本身存疑时,可调用 Skill 工具并传入 "codebase-design" 获取模块、接口、深度、接缝、适配器、杠杆与局部性等共享词汇,它是参考而非要运行的会话。

反模式:实现耦合(mock 内部协作者、测试私有方法或通过旁路验证,重构时测试失败但行为未变);同义反复(断言以与代码相同方式重算期望值,如 expect(add(a, b)).toBe(a + b),按构造即通过);水平切片(先写全部测试再写全部实现,测试想象的行为而非用户可见行为)。应改为垂直切片:一个测试→一个实现→重复。

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

限制:资料未提供具体安装命令、平台支持、收费或价格信息。