关于 521-frameworks-micronaut-testing-unit-tests
面向 Micronaut 项目开发者的技能,用于新增或改进单元测试。它优先采用不启动应用上下文的 JUnit 5 和 Mockito,仅在需要 HTTP 或替换依赖注入时使用 @MicronautTest。
主要功能
- 01使用 JUnit 5 和 Mockito 编写单测
- 02有选择地使用 @MicronautTest
- 03通过 @MockBean 模拟协作者
- 04针对嵌入式服务器进行 HTTP 测试
- 05确定性属性与参数化测试
适用场景
- 01为 Micronaut 服务添加单元测试
- 02减少不必要的应用上下文启动
- 03测试 HTTP 行为或替换 Bean
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jabrena/ plinth --skill 521-frameworks-micronaut-testing-unit-tests安装后在 Claude Code 中输入/521-frameworks-micronaut-testing-unit-tests确认已加载。
附带文件references/521-frameworks-micronaut-testing-unit-tests.md
详细介绍
Micronaut 单元测试
为 Micronaut 采用快速测试策略:优先使用 Mockito,仅在需要 HTTP 或替换 DI 时使用范围精简的 @MicronautTest。
此技能涵盖哪些内容?
- 不启动容器的纯 JUnit 5 + Mockito 测试
- 使用 @MockBean 工厂方法模拟协作者的 @MicronautTest
- 针对嵌入式服务器进行 HttpClient 阻塞式交换
- 使用 @Property 在测试中实现确定性配置
- 使用 @CsvSource / @MethodSource 的 @ParameterizedTest
- 命名:*Test → Surefire;配置后,*IT → Failsafe
- 何时升级到
@522
范围: 根据参考规则以及良好和不良代码示例应用建议。
约束
重构测试前先编译;完成后验证完整测试套件。
- 必须: 应用任何更改前运行
./mvnw compile或mvn compile - 安全: 如果编译失败,立即停止
- 验证: 应用改进后运行
./mvnw clean verify或mvn clean verify - 应用前: 阅读参考资料,了解详细规则和示例
- 边界情况: 如果请求范围不明确,在应用更改前停止并提出澄清问题
- 边界情况: 如果缺少必需的输入、文件或工具,请说明缺少的内容,并询问是否继续提供设置指导
何时使用此技能
- 在 Micronaut 项目中添加或改进单元测试
- 通过优先使用 Mockito 测试,减少不必要的 @MicronautTest 使用
- 为 Micronaut 服务编写优先使用 Mockito 的单元测试
- 在单元测试中模拟 Micronaut Bean 协作者
- 审查不使用应用程序上下文的快速 Micronaut 测试
工作流
- 阅读参考资料并评估项目上下文
阅读 references/521-frameworks-micronaut-testing-unit-tests.md,并在提出更改建议前检查当前项目设置。
- 明确范围并确定目标改进
确定期望结果、约束条件,以及要应用的最小安全更改集。
- 应用符合框架规范的更改
遵循参考模式和项目约定,实现或重构配置/代码。
- 运行验证并报告结果
执行适当的构建/测试,并总结更改内容、验证情况以及任何后续操作。
参考资料
详细指南、示例和约束请参阅 references/521-frameworks-micronaut-testing-unit-tests.md。
评论
支持 Markdown