用途
该技能面向 Micronaut 框架的集成测试编写与改进,目标是验证真实的装配(wiring)与边界契约,而不是重复单元测试的逻辑。适用于需要为 Micronaut 应用添加或优化集成测试的场景。
主要能力
技能覆盖以下内容:
- 契约与边界测试,而非重复单元测试逻辑。
- 使用 TestPropertyProvider 配合静态 @Container,为 JDBC/Kafka 提供属性配置。
- 使用 HttpClient 进行全栈 HTTP 断言。
- 使用 @MicronautTest(transactional = true) 在支持的情况下进行回滚。
- 按类共享容器,并固定镜像标签(pinned image tags)。
- Maven Surefire/Failsafe 配置:区分 *Test / *Tests 与 *IT / *AT,显式设置插件的 includes 和 excludes。
技能范围是依据参考规则和正反代码示例给出建议。
使用方式
技能定义了明确的工作流:
- 阅读参考文档并评估项目上下文:阅读 references/522-frameworks-micronaut-testing-integration-tests.md,并在提出变更前检查当前项目设置。
- 收集范围并确定目标改进:识别请求的结果、约束以及最小安全变更集。
- 应用与框架一致的变更:按照参考模式和项目约定实现或重构配置/代码。
- 运行验证并报告结果:执行相应的构建/测试,并总结变更内容、验证结果及后续操作。
技能包含强制约束:
- 在应用任何集成测试变更前,确保项目可以编译。如果编译失败,立即停止。
- 强制要求:在应用任何变更前运行 ./mvnw compile 或 mvn compile。
- 前提条件:项目必须成功编译并通过基本验证检查,才能进行任何测试重构。
- 关键安全:如果编译失败,立即停止,不要继续任何建议。
- 阻塞条件:编译错误必须由用户解决后才能继续集成测试变更。
- 无例外:任何情况下都不得对编译失败的项目应用测试建议。
- 验证:在应用改进后运行 ./mvnw clean verify 或 mvn clean verify。
- 应用前:阅读参考文档以获取详细规则和示例。
适用场景
技能列出了以下使用时机:
- 使用 Testcontainers 添加 Micronaut 集成测试。
- 为 @MicronautTest 装配动态数据源或 broker URL。
- 使用 Testcontainers 编写 @MicronautTest 集成测试。
- 为 Micronaut 集成测试配置替换 bean。
- 审查 Micronaut 集成测试的生命周期与资源。
限制
技能要求项目在应用任何变更前必须编译成功,编译失败时必须立即停止且不得继续。编译错误需由用户解决后才能继续。应用改进后需运行完整验证。关于具体收费、价格、平台支持范围等信息,资料中暂未提供。