SuperAPI AI 工具集

522-frameworks-micronaut-testing-integration-tests

测试与质量

查看项目

更新于 10-15 14:26

技能介绍

用途

该技能面向 Micronaut 框架的集成测试编写与改进,目标是验证真实的装配(wiring)与边界契约,而不是重复单元测试的逻辑。适用于需要为 Micronaut 应用添加或优化集成测试的场景。

主要能力

技能覆盖以下内容:

  • 契约与边界测试,而非重复单元测试逻辑。
  • 使用 TestPropertyProvider 配合静态 @Container,为 JDBC/Kafka 提供属性配置。
  • 使用 HttpClient 进行全栈 HTTP 断言。
  • 使用 @MicronautTest(transactional = true) 在支持的情况下进行回滚。
  • 按类共享容器,并固定镜像标签(pinned image tags)。
  • Maven Surefire/Failsafe 配置:区分 *Test / *Tests 与 *IT / *AT,显式设置插件的 includes 和 excludes。

技能范围是依据参考规则和正反代码示例给出建议。

使用方式

技能定义了明确的工作流:

  1. 阅读参考文档并评估项目上下文:阅读 references/522-frameworks-micronaut-testing-integration-tests.md,并在提出变更前检查当前项目设置。
  2. 收集范围并确定目标改进:识别请求的结果、约束以及最小安全变更集。
  3. 应用与框架一致的变更:按照参考模式和项目约定实现或重构配置/代码。
  4. 运行验证并报告结果:执行相应的构建/测试,并总结变更内容、验证结果及后续操作。

技能包含强制约束:

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

适用场景

技能列出了以下使用时机:

  • 使用 Testcontainers 添加 Micronaut 集成测试。
  • 为 @MicronautTest 装配动态数据源或 broker URL。
  • 使用 Testcontainers 编写 @MicronautTest 集成测试。
  • 为 Micronaut 集成测试配置替换 bean。
  • 审查 Micronaut 集成测试的生命周期与资源。

限制

技能要求项目在应用任何变更前必须编译成功,编译失败时必须立即停止且不得继续。编译错误需由用户解决后才能继续。应用改进后需运行完整验证。关于具体收费、价格、平台支持范围等信息,资料中暂未提供。