AgentSkillsCN

proj-gen-test

生成单元测试与集成测试代码。适用于为Service层生成测试、为Controller层生成测试,从而提升测试覆盖率。

SKILL.md
--- frontmatter
name: proj-gen-test
description: 生成单元测试和集成测试代码。用于为Service层生成测试、为Controller层生成测试、提高测试覆盖率。

生成测试代码

适用场景

  • 为 Service 层生成单元测试
  • 为 Controller 层生成单元测试
  • 为完整流程生成集成测试
  • 提高测试覆盖率

测试类型选择

类型场景特点
单元测试测试单个方法逻辑快速、Mock 依赖
集成测试测试完整流程真实数据库、慢

建议: 核心业务逻辑用单元测试,关键流程用集成测试。


测试框架

框架用途
JUnit 5测试框架
MockitoMock 框架
AssertJ断言库
SpringBootTest集成测试

前置检查

生成测试前,先确认任务文档:

  • 全流程任务文档存在
  • “代码审查”已完成
  • 将“生成测试”状态标记为进行中

生成测试前,检查目标模块的 pom.xml 是否包含测试依赖:

xml
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-junit-jupiter</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <scope>test</scope>
</dependency>

如缺失,自动添加到 pom.xml<dependencies> 中,然后再生成测试代码。


测试模板


测试命名规范

code
方法名_场景_预期结果

示例:
- create_Success
- create_DuplicateName_ThrowException
- getDetail_Found
- getDetail_NotFound_ThrowException
- update_Success
- delete_NotFound_ThrowException

测试原则

  1. 单一职责 - 每个测试只测一个场景
  2. 独立性 - 测试之间互不依赖
  3. 可重复 - 多次运行结果一致
  4. 自验证 - 测试自动判断通过/失败
  5. 及时性 - 与代码同步编写

测试覆盖要求

层级覆盖要求
Service核心业务逻辑 100%
Controller主要接口 80%
Utils工具方法 100%

同步任务文档

  • 产物清单记录测试代码路径或测试报告路径
  • 流程状态总览标记“生成测试”为已完成
  • 更新下一步指令为“运行测试并记录结果”

注意事项

  1. Mock 外部依赖 - 数据库、Redis、第三方接口
  2. 测试边界条件 - null、空集合、边界值
  3. 测试异常场景 - 业务异常、系统异常
  4. 保持测试简洁 - 避免测试代码过于复杂

相关模板