Token导航 LogoToken导航

Agent Skill · 效率

springboot-unit-testing(springboot 单元测试)

用于辅助 Java 项目开发、面向对象设计、Spring 生态、Maven 或 Gradle 依赖和后端工程实践。它适合让 Agent 分析类结构、设计接口、整理服务分层、生成测试或检查常见代码坏味道。使用时需要结合项目已有架构、包结构和依赖版本,不应只按通用教程改代码;涉及数据库、事务、并发或框架配置时,应先确认运行环境和回归测试范围。

springboot-unit-testing 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描有提醒项,按安装量在效率类的 21,003 个 Skill 里排第 7,554。

总安装 7,980周安装 326GitHub Stars 公开资料未说明下载 2,582核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:springboot-unit-testing(springboot 单元测试)
来源仓库:https://github.com/davieyang/springboot-unit-testing
安装命令:
openclaw skills install springboot-unit-testing
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install springboot-unit-testing

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

针对 Spring Boot + MyBatis + MySQL 项目提供系统化单元测试方案。覆盖正常流程、异常处理与边界值测试用例的设计指导。包含 Service 层 Mock 策略与数据库事务回滚验证方法说明。输出 JUnit 测试类骨架与断言语句,需补充具体业务逻辑实现细节。

springboot-unit-testing 属于效率类 Skill,可作为该场景下的辅助能力补充。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install springboot-unit-testing;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

springboot-unit-testing 怎么安装?

在终端执行 openclaw skills install springboot-unit-testing。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

springboot-unit-testing 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

springboot-unit-testing 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

springboot-unit-testing 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

springboot-unit-testing 用的人多吗?

公开数据是累计安装 7,980 次,近一周安装 326 次,下载 2,582 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

springboot-unit-testing 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
springboot-unit-testing

springboot 单元测试 · 本页

7,980—需要联网MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
SpringBoot-MyBatis-UnitTesting
version
1.0.0
description
|
author
WorkBuddy User
license
MIT
repository
https://github.com/your-repo/springboot-unit-testing
tags
[spring-boot, mybatis, unit-testing, java, junit, mockito, mysql, testing]

Spring Boot + MyBatis 单元测试专家

技能概述

本技能提供Spring Boot + MyBatis + MySQL项目的专业单元测试解决方案,确保:

  1. 正常流程全面覆盖 - 所有业务逻辑都有对应的成功测试
  2. 异常场景充分测试 - 各种错误情况和异常处理都有测试验证
  3. 边界值完整验证 - 数据边界、参数边界、状态边界都有测试
  4. 分层测试策略 - Mapper、Service、Controller各层都有专业测试方法

快速开始

1. Maven依赖配置

查看 references/dependencies.md 获取完整的测试依赖配置。

2. 测试结构

  • Mapper层: 使用 @MybatisTest + H2内存数据库
  • Service层: 使用 @ExtendWith(MockitoExtension.class) + Mock依赖
  • Controller层: 使用 @WebMvcTest + MockMvc
  • 集成测试: 使用 @SpringBootTest + Testcontainers

3. 测试覆盖率目标

  • Mapper层: 90%+ (覆盖所有SQL语句)
  • Service层: 95%+ (覆盖所有业务逻辑分支)
  • Controller层: 85%+ (覆盖所有API端点)
  • 异常测试: 100% (所有异常处理逻辑)
  • 边界测试: 100% (所有边界条件)

核心测试策略

正常流程测试 (Normal Flow Testing)

每个业务方法都需要以下测试:

  • 成功场景测试: 验证方法在理想条件下的行为
  • 多数据测试: 测试不同数据组合下的表现
  • 状态转换测试: 验证状态机的正确转换
  • 并发安全测试: 确保线程安全(如果适用)

异常流程测试 (Exception Flow Testing)

每个可能抛出的异常都需要:

  • 参数验证异常: 测试无效参数的异常处理
  • 业务逻辑异常: 测试业务规则违反的异常
  • 数据不存在异常: 测试查询不到数据的异常
  • 并发异常: 测试并发冲突的异常处理
  • 外部依赖异常: 测试外部服务失败的异常

边界值测试 (Boundary Value Testing)

所有输入参数都需要边界测试:

  • 数值边界: 最小/最大/临界值测试
  • 字符串边界: 空/null/最大长度/特殊字符测试
  • 集合边界: 空集合/单元素/最大容量测试
  • 时间边界: 最小/最大时间/时区边界测试
  • 状态边界: 初始/中间/最终状态测试

测试模板

Mapper层测试模板

// 查看完整模板: references/mapper-test-template.java
@MybatisTest
@AutoConfigureTestDatabase(replace = Replace.NONE)
@Sql("/test-data.sql")
class [Entity]MapperTest {
    // CRUD操作测试
    // 复杂查询测试  
    // 事务边界测试
    // 性能边界测试
}

Service层测试模板

// 查看完整模板: references/service-test-template.java  
@ExtendWith(MockitoExtension.class)
class [Entity]ServiceTest {
    // 业务逻辑测试
    // 异常处理测试
    // 事务管理测试
    // 并发安全测试
}

Controller层测试模板

// 查看完整模板: references/controller-test-template.java
@WebMvcTest([Entity]Controller.class)
class [Entity]ControllerTest {
    // HTTP方法测试
    // 请求参数测试
    // 响应格式测试
    // 错误处理测试
}

集成测试模板

// 查看完整模板: references/integration-test-template.java
@SpringBootTest
@AutoConfigureMockMvc
@Transactional
class [Feature]IntegrationTest {
    // 端到端流程测试
    // 数据一致性测试
    // 性能基准测试
    // 安全边界测试
}

测试数据管理

测试数据策略

  1. 静态测试数据: 使用 @Sql 注解导入SQL文件
  2. 动态测试数据: 使用Builder模式创建测试对象
  3. 随机测试数据: 使用Faker库生成随机数据
  4. 边界测试数据: 专门测试边界条件的数据

测试数据工厂

查看 references/test-data-factory.java 获取测试数据工厂实现。

SQL测试数据文件

查看 references/test-data-examples.sql 获取测试SQL示例。

特殊场景测试

1. 事务测试

@Test
@Transactional(propagation = Propagation.NEVER)
void testTransactionRollback() {
    // 测试事务回滚
}

@Test  
void testTransactionPropagation() {
    // 测试事务传播
}

2. 并发测试

@Test
void testConcurrentAccess() throws InterruptedException {
    // 使用CountDownLatch或CompletableFuture测试并发
}

3. 性能测试

@Test
@Timeout(5) // 5秒超时
void testPerformanceBoundary() {
    // 性能边界测试
}

4. 安全测试

@Test
void testSecurityConstraints() {
    // 权限验证测试
    // 数据隔离测试
}

测试工具和最佳实践

断言选择指南

  • 基本断言: 使用JUnit 5的 assertEquals()、assertThrows()
  • 流式断言: 使用AssertJ的 assertThat() 链式调用
  • 匹配器断言: 使用Hamcrest的 assertThat() + Matcher
  • 自定义断言: 创建领域特定的断言方法

Mock使用指南

  • 最小化Mock: 只Mock外部依赖
  • 验证调用: 使用 verify() 验证方法调用
  • 参数匹配: 使用 any(), eq(), argThat() 等
  • 异常模拟: 使用 when().thenThrow() 模拟异常

测试生命周期

  • @BeforeEach: 准备测试数据
  • @AfterEach: 清理测试数据
  • @BeforeAll: 初始化测试环境
  • @AfterAll: 清理测试环境

质量保证

代码覆盖率检查

# 生成覆盖率报告
mvn clean test jacoco:report

# 检查覆盖率阈值
mvn jacoco:check

测试代码质量

  • 可读性: 测试代码应该像文档一样清晰
  • 可维护性: 避免重复代码,使用工厂模式
  • 可执行性: 测试应该快速执行,独立运行
  • 可调试性: 提供清晰的失败信息

测试命名规范

  • 方法名: test[场景]_[条件]_[期望结果]
  • 测试类: [Entity][Layer]Test
  • 数据工厂: TestDataFactory
  • 测试文件: test-[feature].sql

故障排除

常见问题

  1. 事务不回滚: 检查 @Transactional 注解位置
  2. Mock不生效: 检查 @MockBean 和 @Mock 的区别
  3. 数据库连接失败: 检查H2数据库配置
  4. 测试数据污染: 使用 @Transactional 或清理方法

调试技巧

  • 启用详细日志: logging.level.root=DEBUG
  • 使用 @DirtiesContext 重置Spring上下文
  • 使用 @TestPropertySource 覆盖配置
  • 使用 MockMvc 的 andDo(print()) 打印请求详情

扩展和定制

自定义测试注解

// 创建组合注解简化测试配置
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@MybatisTest
@AutoConfigureTestDatabase
@Sql("/test-data.sql")
public @interface MybatisIntegrationTest {
}

测试工具扩展

  • 自定义Matcher: 创建领域特定的Matcher
  • 测试监听器: 实现TestExecutionListener
  • 自定义Runner: 扩展SpringJUnit4ClassRunner
  • 测试扩展: 实现Extension接口

性能优化

  • 测试分组: 使用 @Tag 分组测试
  • 并行执行: 配置Maven Surefire并行执行
  • 数据库优化: 使用H2内存数据库模式
  • Mock优化: 避免不必要的Mock初始化

参考资源

核心文档

最佳实践

工具脚本

使用示例

当用户请求"为我的Spring Boot项目编写单元测试"时:

  1. 分析项目结构 - 识别Entity、Mapper、Service、Controller
  2. 选择测试策略 - 根据需求选择正常/异常/边界测试
  3. 生成测试代码 - 使用模板生成对应层的测试
  4. 配置测试环境 - 设置依赖、数据、配置
  5. 验证测试覆盖 - 检查覆盖率,补充缺失测试

本技能确保为每个Spring Boot项目提供专业、全面、可维护的单元测试解决方案。


📦 发布信息

ClawHub发布配置

此Skill已配置为可发布到ClawHub的技能市场。包含以下发布文件:

  1. clawhub.yml - 发布配置文件
  2. package.json - 标准化包描述
  3. LICENSE - MIT许可证
  4. README.md - 完整使用说明

发布准备检查清单

✅ 完整性检查

  • [x] SKILL.md - 主技能文件
  • [x] README.md - 使用文档
  • [x] scripts/ - 3个实用脚本
  • [x] references/ - 4个参考文档
  • [x] examples/ - 2个示例测试代码
  • [x] assets/ - 资源文件夹

✅ 配置检查

  • [x] clawhub.yml - 发布配置
  • [x] package.json - 包管理
  • [x] LICENSE - 许可证文件

✅ 质量检查

  • [x] 测试策略文档齐全
  • [x] 代码示例完整可运行
  • [x] 工具脚本可用
  • [x] 依赖配置正确

发布到ClawHub的步骤

  1. 创建GitHub仓库(推荐)
   git init
   git add .
   git commit -m "feat: Spring Boot单元测试Skill v1.0.0"
   git remote add origin https://github.com/your-repo/springboot-unit-testing.git
   git push -u origin main
  1. 准备发布包
   # 打包Skill
   tar -czf springboot-unit-testing-skill-v1.0.0.tar.gz test-skill/
   
   # 或使用zip
   zip -r springboot-unit-testing-skill-v1.0.0.zip test-skill/
  1. 发布到ClawHub

- 访问ClawHub网站 (https://clawhub.com) - 注册/登录开发者账户 - 创建新Skill发布 - 填写Skill信息(参考clawhub.yml) - 上传打包文件 - 设置分类标签:spring-boot, testing, java - 提交审核

  1. 维护和更新

- 定期更新测试策略 - 收集用户反馈 - 发布新版本 - 更新文档

Skill分类信息

  • 类别: 开发工具 / 测试框架
  • 技术栈: Spring Boot, MyBatis, MySQL, JUnit 5
  • 适用场景: 企业级Java项目单元测试
  • 难度级别: 中级(需要Java和Spring Boot基础)
  • 预估时间: 使用此Skill可减少50%的测试开发时间

用户支持

  • 文档: 完整的README和示例代码
  • 问题反馈: 通过GitHub Issues
  • 社区: 分享测试经验和最佳实践
  • 贡献: 欢迎提交PR改进Skill

版本历史

  • v1.0.0 (2026-03-20) - 初始发布

- 完整的Spring Boot单元测试策略 - 正常流程、异常测试、边界值测试全面覆盖 - 3个实用工具脚本 - 4个详细参考文档 - 2个完整代码示例


让Spring Boot项目的单元测试更专业、更全面、更高效!

平台分布

OpenClaw

88.03%
按下载量换算2,273

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills