SuperAPI AI 工具集

tdd

编程与开发

查看项目

更新于 10-16 00:22

技能介绍

用途:该技能用于以测试驱动开发方式构建功能或修复缺陷,核心流程为红-绿-重构循环。当用户提出使用 TDD、提到 red-green-refactor 时适用。

主要理念:测试应通过公共接口验证行为,而非实现细节。好的测试是集成风格,走真实代码路径,读起来像规格说明;坏测试耦合实现,mock 内部协作者或验证私有方法,重构时会误报失败。

反模式:禁止横向切片,即先写全部测试再写全部实现。正确做法是垂直切片(曳光弹):一个测试→一个实现→重复。每个测试根据上一轮学习结果编写。

工作流程:1) 规划。探索代码库时使用项目领域词汇,遵守相关 ADR。写代码前与用户确认接口变更、要测试的行为并排优先级,识别深模块机会,设计可测试接口,列出行为而非实现步骤,获得用户批准。可询问:公共接口应是什么样?哪些行为最重要?2) 曳光弹。写一个测试确认一件事:RED 写首个行为测试并失败;GREEN 写最少代码通过。3) 增量循环。对每个剩余行为重复:RED 写下一个测试并失败;GREEN 用最少代码通过。规则:一次一个测试,只写足够通过当前测试的代码,不为未来测试提前设计,测试聚焦可观察行为。4) 重构。全部测试通过后,消除重复、深化模块、在自然处应用 SOLID,再逐步重构并每步运行测试。绝不在 RED 状态重构,先到 GREEN。

每轮检查清单:测试描述行为而非实现;仅使用公共接口;可承受内部重构;代码对当前测试最小;无投机性功能。

AIX 包合规:属于 AIX skill pack,用户别名 aix-tdd,调用时使用本技能。生成物写入 .aix/ 目录,写前用 mkdir -p .aix 确保目录存在;.aix/ 内生成文件默认可被覆盖;除非明确要求,不要把生成文件写到项目根目录。

限制:资料未提供适用编程语言、框架、依赖、安装命令、收费或平台信息。