关于 422-frameworks-quarkus-testing-integration-tests
用于借助真实应用装配和可复现基础设施,为 Quarkus 添加或改进集成测试。涵盖进程内和打包产物测试,要求修改前编译并在修改后验证。
主要功能
- 01使用 @QuarkusTest 进行进程内测试
- 02配置 Dev Services 和 Testcontainers 生命周期
- 03用 WireMock 模拟外部 HTTP 服务
- 04测试打包后的 JAR 和原生二进制文件
- 05REST Assured HTTP 检查与测试数据隔离
- 06Surefire 和 Failsafe 测试分层
适用场景
- 01为 Quarkus 项目添加集成测试
- 02配置 Dev Services 或 Testcontainers
- 03使用 WireMock 模拟外部 HTTP 依赖
- 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 拆分
工作流
- 阅读参考文档并评估项目背景
阅读 references/422-frameworks-quarkus-testing-integration-tests.md,并检查当前项目设置,然后再提出更改建议。
- 明确范围并确定目标改进
确定所需结果、约束条件,以及要应用的最小安全更改集。
- 应用符合框架要求的更改
遵循参考模式和项目惯例,实现或重构配置/代码。
- 运行验证并报告结果
执行适当的构建/测试,并总结更改内容、验证结果和任何后续操作。
参考文档
详细指南、示例和约束请参阅 references/422-frameworks-quarkus-testing-integration-tests.md。
评论
支持 Markdown