SuperAPI AI 工具集

sdd-tdd-implement

测试与质量

查看项目

更新于 10-16 05:43

技能介绍

用途:这是规范驱动开发(SDD)第 4 步的 TDD 变体技能,用于按实现计划以严格测试驱动开发方式落地功能。核心纪律是:任何生产代码都必须先有一个失败的测试要求它——🔴 Red → 🟢 Green → 🔵 Refactor,每个阶段需显式声明。

前置条件:开始前确认存在 plan.md(实现计划)、feature.md(功能规格,验收标准驱动 TDD 循环)、docs/project.md(项目约定与上下文);缺失则停止并告知用户缺哪个文件、由哪个技能产出。

主要流程:先完整读取三份文件,从 feature.md 提取全部验收标准(AC)作为 TDD 待办,从 docs/project.md 记录测试库(JUnit 5、Mockito、Testcontainers、RestAssured 等)、架构模式与包名/REST 基础路径约定。随后搭建不含行为的脚手架(数据库迁移文件、JPA 实体、Repository 接口、DTO、包结构与空类壳),运行 mvn compile(或 ./gradlew compileJava)直到编译通过。接着按 AC 顺序逐个完成红→绿→重构:Red 阶段写一个直接断言该 AC 行为的测试,按层选择测试类型(领域/服务用 Mockito 单元测试,仓储用 @DataJpaTest + Testcontainers,REST 用 @WebMvcTest + MockMvc,端到端用 @SpringBootTest + RestAssured + Testcontainers),运行 mvn test -Dtest=<TestClass#methodName> 确认因行为缺失而失败;Green 阶段只写让测试通过的最小代码,再跑全量测试确认无回归;Refactor 阶段在不改行为前提下清理生产代码与测试代码,再次跑全量测试。所有 AC 变绿后再处理表单校验、错误处理、安全、日志、OpenAPI 注解等横切关注点,并逐一核对 AC、在 feature.md 勾选复选框,最后输出 TDD 总结报告(AC/测试方法/红绿重构对照表、新增与修改文件、测试统计、说明),并提示用户运行 /sdd-review 再归档。

不可违反的规则:无红测试不写生产代码;一次只保留一个失败测试;Green 阶段写最小代码;每次 Green 与 Refactor 后跑全量测试,回归立即修复;测试必须因正确原因失败,编译错误不算红;测试方法名须自解释场景,如 should_throwException_when_emailAlreadyExists。

限制:具体项目命令、测试框架与架构均以仓库内 plan.md、feature.md、docs/project.md 为准;资料未提供这些文件的生成方式、支持的构建工具范围及实际效果验证信息。