mcpField
5
522-frameworks-micronaut-testing-integration-tests

522-frameworks-micronaut-testing-integration-tests

github.com/jabrena测试与质量456307 次安装1 天前更新
代码仓库

关于 522-frameworks-micronaut-testing-integration-tests

面向开发者的技能,用于新增或审查 Micronaut 集成测试,验证契约与边界上的实际组件连接。内容涵盖 Testcontainers、HTTP 断言、测试属性、事务及 Maven 测试生命周期配置。

主要功能

  1. 01使用 Testcontainers 测试 JDBC 和 Kafka
  2. 02通过 TestPropertyProvider 设置动态属性
  3. 03全栈 HTTP 断言
  4. 04在支持时运行事务测试
  5. 05配置 Surefire 与 Failsafe 命名规则

适用场景

  1. 01测试数据源或消息代理连接
  2. 02端到端验证 Micronaut HTTP 端点
  3. 03审查集成测试生命周期与资源

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jabrena/plinth --skill 522-frameworks-micronaut-testing-integration-tests

安装后在 Claude Code 中输入/522-frameworks-micronaut-testing-integration-tests确认已加载。

附带文件references/522-frameworks-micronaut-testing-integration-tests.md

详细介绍

Micronaut 集成测试

借助容器和 HTTP 验证 Micronaut 中的实际装配情况。

此技能涵盖哪些内容?

  • 范围:契约和边界,而非重复单元测试逻辑
  • 使用 TestPropertyProvider + 静态 @Container 配置 JDBC/Kafka 属性
  • 使用 HttpClient 编写全栈 HTTP 断言
  • 在支持的情况下,使用 @MicronautTest(transactional = true) 回滚
  • 每个类共享容器;固定镜像标签
  • Maven Surefire/Failsafe:*Test / *Tests 与 *IT / *AT;显式配置插件的 includes 和 excludes

范围: 根据参考规则和优劣代码示例应用建议。

约束

在应用任何集成测试变更之前,确保项目可以编译。如果编译失败,请立即停止。应用改进后,运行完整验证。

  • 强制要求:应用任何变更之前,运行 ./mvnw compile 或 mvn compile
  • 前提条件:在重构任何测试之前,项目必须成功编译并通过基本验证检查
  • 关键安全要求:如果编译失败,请立即停止,不要继续提出任何建议
  • 阻止条件:用户必须先解决编译错误,才能继续进行集成测试变更
  • 无一例外:在任何情况下,都不得对编译失败的项目应用测试建议
  • 验证:应用改进后,运行 ./mvnw clean verify 或 mvn clean verify
  • 应用前:阅读参考资料,了解详细规则和示例

何时使用此技能

  • 使用 Testcontainers 添加 Micronaut 集成测试
  • 为 @MicronautTest 配置动态数据源或代理 URL
  • 使用 Testcontainers 编写 @MicronautTest 集成测试
  • 为 Micronaut 集成测试配置替代 Bean
  • 检查 Micronaut 集成测试的生命周期和资源

工作流

  1. 阅读参考资料并评估项目上下文

阅读 references/522-frameworks-micronaut-testing-integration-tests.md,并检查当前项目设置,再提出变更建议。

  1. 确定范围并决定目标改进

明确所需结果、约束条件,以及需要应用的最小安全变更集。

  1. 应用符合框架规范的变更

遵循参考模式和项目约定,实现或重构配置/代码。

  1. 运行验证并报告结果

执行适当的构建/测试,并总结变更内容、验证结果及后续操作。

参考资料

详细指南、示例和约束请参阅 references/522-frameworks-micronaut-testing-integration-tests.md。

评论

支持 Markdown