SuperAPI AI 工具集

generate-tests

测试与质量

查看项目

更新于 10-16 06:45

技能介绍

用途:当用户要求为现有代码生成、创建、编写或补充单元测试,或为某个类、方法、文件添加测试覆盖时使用。目标通过 $ARGUMENTS 指定,例如 /generate-tests src/main/java/com/example/service/OrderService.java。

主要能力:按四步工作流执行。第一步读取 ./rules/tests/ 下对应规则,读取目标源码与依赖(DTO、实体、枚举、自定义异常等),并查找已有 {ClassName}Test 测试类,存在则追加而非新建。第二步建立测试用例清单,覆盖成功路径、异常路径、校验逻辑、被调用的私有/受保护方法及安全注解,按 INCLUDE/EXCLUDE 规则筛选,命名格式为 {testedMethod}{givenState}{expectedOutcome},如 calculateTotal_emptyList_throwsIllegalArgumentException;若已由 generate-test-cases 生成清单,则以其为计划,不重新分析。第三步按类型套用规则生成代码:Controller 用 @WebMvcTest、MockMvc;Service/领域逻辑用 @ExtendWith(MockitoExtension.class)、Mockito;其他类型以领域服务规则为基线并提示暂无类型专属规则;所有 Java 代码均应用 java-test-template、argument-matching、json-serialization,用 Write 工具创建或更新测试文件。第四步验证编译与执行,编译最多尝试 5 次,运行测试类确认通过;测试失败时改测试而非生产代码,修复 3 次仍失败则保留并标 @Disabled 说明原因。

限制:主要为 Java 设计,其他语言仅应用通用规则并需人工复核语言惯例;目标文件不存在时需给出搜索路径并请求澄清;编译反复失败则停止并提示可能的依赖或版本问题。测试若因生产代码行为不符预期而失败,应修测试以匹配实际行为,疑似缺陷处加注释说明。