mcpField
4
422-frameworks-quarkus-testing-integration-tests

422-frameworks-quarkus-testing-integration-tests

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

关于 422-frameworks-quarkus-testing-integration-tests

用于借助真实应用装配和可复现基础设施,为 Quarkus 添加或改进集成测试。涵盖进程内和打包产物测试,要求修改前编译并在修改后验证。

主要功能

  1. 01使用 @QuarkusTest 进行进程内测试
  2. 02配置 Dev Services 和 Testcontainers 生命周期
  3. 03用 WireMock 模拟外部 HTTP 服务
  4. 04测试打包后的 JAR 和原生二进制文件
  5. 05REST Assured HTTP 检查与测试数据隔离
  6. 06Surefire 和 Failsafe 测试分层

适用场景

  1. 01为 Quarkus 项目添加集成测试
  2. 02配置 Dev Services 或 Testcontainers
  3. 03使用 WireMock 模拟外部 HTTP 依赖
  4. 04测试打包产物并隔离测试数据

安装

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

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

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

附带文件references/422-frameworks-quarkus-testing-integration-tests.md

详细介绍

Quarkus 集成测试

应用 Quarkus 集成测试模式,使用真实的装配方式和可复现的基础设施。

此技能涵盖哪些内容?

  • 使用 @QuarkusTest 进行 JVM 内集成测试,并采用真实的 CDI 装配
  • 使用 Dev Services 自动配置容器(%test.quarkus.datasource.devservices)
  • 通过 QuarkusTestResourceLifecycleManager 使用 Testcontainers(启动/停止生命周期、动态配置注入)
  • 通过 QuarkusTestResourceLifecycleManager 使用 WireMock 对外部 HTTP 服务进行存根
  • 使用 @QuarkusIntegrationTest 针对打包后的 JAR 或原生二进制文件进行黑盒测试
  • 使用 REST Assured 针对 Quarkus 测试端口进行 HTTP 测试
  • 数据隔离:使用 @TestTransaction 自动回滚;HTTP 测试使用 @BeforeEach 清理数据
  • Maven 三层拆分:*Test → Surefire(快速),*IT + *AT → Failsafe(verify)
  • 原生镜像测试注意事项:使用 @DisabledOnNativeImage

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

约束

修改前先编译;修改后验证;容器功能可能需要 Docker。

  • 必须执行:应用任何更改前,运行 ./mvnw compile 或 mvn compile
  • 前置条件:项目必须先编译成功,才能改进集成测试
  • 安全要求:如果编译失败,立即停止
  • 阻塞条件:必须由用户解决编译错误后,才能继续
  • 验证:应用改进后,运行 ./mvnw clean verify 或 mvn clean verify;Testcontainers 和 Dev Services 需要 Docker
  • 应用更改前:阅读参考文档,了解详细规则和示例

何时使用此技能

  • 在 Quarkus 项目中添加或改进集成测试
  • 为 Quarkus 测试配置 Testcontainers 或 Dev Services
  • 在 Quarkus 集成测试中为外部 HTTP 依赖添加 WireMock 存根
  • 设置 @QuarkusIntegrationTest,以测试打包后的制品或原生二进制文件
  • 修复测试数据隔离,或配置 Maven Surefire/Failsafe 拆分

工作流

  1. 阅读参考文档并评估项目背景

阅读 references/422-frameworks-quarkus-testing-integration-tests.md,并检查当前项目设置,然后再提出更改建议。

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

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

  1. 应用符合框架要求的更改

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

  1. 运行验证并报告结果

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

参考文档

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

评论

支持 Markdown