{"id":"487e69b9-d651-4a97-add9-95cf228ee272","shortId":"rNKR3y","kind":"skill","title":"422-frameworks-quarkus-testing-integration-tests","tagline":"Use when you need to write or improve integration tests for Quarkus — including @QuarkusTest, Dev Services for automatic container provisioning, Testcontainers via QuarkusTestResourceLifecycleManager, WireMock for external HTTP stubs, @QuarkusIntegrationTest for black-box testing","description":"# Quarkus Integration Testing\n\nApply integration testing patterns for Quarkus with real wiring and reproducible infrastructure.\n\n**What is covered in this Skill?**\n\n- @QuarkusTest for in-JVM integration with real CDI wiring\n- Dev Services for automatic container provisioning (%test.quarkus.datasource.devservices)\n- Testcontainers via QuarkusTestResourceLifecycleManager (start/stop lifecycle, dynamic config injection)\n- WireMock for stubbing external HTTP services via QuarkusTestResourceLifecycleManager\n- @QuarkusIntegrationTest for black-box testing against the packaged JAR or native binary\n- HTTP testing with REST Assured against the Quarkus test port\n- Data isolation: @TestTransaction for automatic rollback; @BeforeEach cleanup for HTTP tests\n- Maven three-tier split: *Test → Surefire (fast), *IT + *AT → Failsafe (verify)\n- Native-image test considerations with @DisabledOnNativeImage\n\n**Scope:** Apply recommendations based on the reference rules and good/bad code examples.\n\n## Constraints\n\nCompile before changes; verify after; Docker may be required for containers.\n\n- **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change\n- **PREREQUISITE**: Project must compile before applying integration test improvements\n- **SAFETY**: If compilation fails, stop immediately\n- **BLOCKING CONDITION**: Compilation errors must be resolved by the user before proceeding\n- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements; Docker is required for Testcontainers and Dev Services\n- **BEFORE APPLYING**: Read the reference for detailed rules and examples\n\n## When to use this skill\n\n- Add or improve integration tests in a Quarkus project\n- Configure Testcontainers or Dev Services for Quarkus tests\n- Add WireMock stubs for external HTTP dependencies in Quarkus integration tests\n- Set up @QuarkusIntegrationTest for packaged artifact or native binary testing\n- Fix test data isolation or configure Maven Surefire/Failsafe split\n\n## Workflow\n\n1. **Read reference and assess project context**\n\nRead `references/422-frameworks-quarkus-testing-integration-tests.md` and inspect the current project setup before proposing changes.\n\n2. **Gather scope and decide target improvements**\n\nIdentify requested outcomes, constraints, and the minimum safe set of changes to apply.\n\n3. **Apply framework-aligned changes**\n\nImplement or refactor configuration/code following the reference patterns and project conventions.\n\n4. **Run verification and report results**\n\nExecute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions.\n\n## Reference\n\nFor detailed guidance, examples, and constraints, see [references/422-frameworks-quarkus-testing-integration-tests.md](references/422-frameworks-quarkus-testing-integration-tests.md).","tags":["422","frameworks","quarkus","testing","integration","tests","cursor","rules","java","jabrena","agent-skills","ai-skills"],"capabilities":["skill","source-jabrena","skill-422-frameworks-quarkus-testing-integration-tests","topic-agent-skills","topic-ai-skills","topic-claude","topic-claude-code","topic-claude-code-skills","topic-claude-code-subagents","topic-claude-skills","topic-cursor-agent","topic-cursor-ai","topic-cursor-skills","topic-cursorai","topic-github-copilot"],"categories":["cursor-rules-java"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/jabrena/cursor-rules-java/422-frameworks-quarkus-testing-integration-tests","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add jabrena/cursor-rules-java","source_repo":"https://github.com/jabrena/cursor-rules-java","install_from":"skills.sh"}},"qualityScore":"0.631","qualityRationale":"deterministic score 0.63 from registry signals: · indexed on github topic:agent-skills · 362 github stars · SKILL.md body (2,822 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-26T12:53:38.421Z","embedding":null,"createdAt":"2026-04-18T22:02:22.544Z","updatedAt":"2026-04-26T12:53:38.421Z","lastSeenAt":"2026-04-26T12:53:38.421Z","tsv":"'/mvnw':175,213 '1':294 '2':312 '3':332 '4':349 '422':1 'action':370 'add':246,263 'align':336 'appli':45,150,181,189,221,232,331,333 'appropri':356 'artifact':279 'assess':298 'assur':113 'automat':25,76,123 'base':152 'beforeeach':125 'binari':108,282 'black':39,99 'black-box':38,98 'block':199 'box':40,100 'build/tests':357 'cdi':71 'chang':164,183,311,329,337,361 'clean':214,218 'cleanup':126 'code':159 'compil':162,176,179,187,195,201 'condit':200 'config':86 'configur':255,289 'configuration/code':341 'consider':146 'constraint':161,322,377 'contain':26,77,172 'context':300 'convent':348 'cover':59 'current':306 'data':119,286 'decid':316 'depend':269 'detail':237,373 'dev':22,73,229,258 'disabledonnativeimag':148 'docker':167,223 'dynam':85 'error':202 'exampl':160,240,375 'execut':355 'extern':33,91,267 'fail':196 'failsaf':140 'fast':137 'fix':284 'follow':342,368 'follow-up':367 'framework':3,335 'framework-align':334 'frameworks-quarkus-testing-integration-test':2 'gather':313 'good/bad':158 'guidanc':374 'http':34,92,109,128,268 'identifi':319 'imag':144 'immedi':198 'implement':338 'improv':15,192,222,248,318 'in-jvm':65 'includ':20 'infrastructur':56 'inject':87 'inspect':304 'integr':6,16,43,46,68,190,249,272 'isol':120,287 'jar':105 'jvm':67 'lifecycl':84 'mandatori':173 'maven':130,290 'may':168 'minimum':325 'must':186,203 'mvn':178,217 'nativ':107,143,281 'native-imag':142 'need':11 'outcom':321 'packag':104,278 'pattern':48,345 'port':118 'prerequisit':184 'proceed':210 'project':185,254,299,307,347 'propos':310 'provis':27,78 'quarkus':4,19,42,50,116,253,261,271 'quarkusintegrationtest':36,96,276 'quarkustest':21,63 'quarkustestresourcelifecyclemanag':30,82,95 'read':233,295,301 'real':52,70 'recommend':151 'refactor':340 'refer':155,235,296,344,371 'references/422-frameworks-quarkus-testing-integration-tests.md':302,379,380 'report':353 'reproduc':55 'request':320 'requir':170,225 'resolv':205 'rest':112 'result':354 'rollback':124 'rule':156,238 'run':174,212,350 'safe':326 'safeti':193 'scope':149,314 'see':378 'servic':23,74,93,230,259 'set':274,327 'setup':308 'skill':62,245 'skill-422-frameworks-quarkus-testing-integration-tests' 'source-jabrena' 'split':134,292 'start/stop':83 'stop':197 'stub':35,90,265 'summar':359 'surefir':136 'surefire/failsafe':291 'target':317 'test':5,7,17,41,44,47,101,110,117,129,135,145,191,250,262,273,283,285 'test.quarkus.datasource.devservices':79 'testcontain':28,80,227,256 'testtransact':121 'three':132 'three-tier':131 'tier':133 'topic-agent-skills' 'topic-ai-skills' 'topic-claude' 'topic-claude-code' 'topic-claude-code-skills' 'topic-claude-code-subagents' 'topic-claude-skills' 'topic-cursor-agent' 'topic-cursor-ai' 'topic-cursor-skills' 'topic-cursorai' 'topic-github-copilot' 'use':8,243 'user':208 'verif':351 'verifi':141,165,211,215,219,364 'via':29,81,94 'wire':53,72 'wiremock':31,88,264 'workflow':293 'write':13","prices":[{"id":"f2b8f9a5-1a96-4741-8d7b-54f2332abb33","listingId":"487e69b9-d651-4a97-add9-95cf228ee272","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"jabrena","category":"cursor-rules-java","install_from":"skills.sh"},"createdAt":"2026-04-18T22:02:22.544Z"}],"sources":[{"listingId":"487e69b9-d651-4a97-add9-95cf228ee272","source":"github","sourceId":"jabrena/cursor-rules-java/422-frameworks-quarkus-testing-integration-tests","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/422-frameworks-quarkus-testing-integration-tests","isPrimary":false,"firstSeenAt":"2026-04-18T22:02:22.544Z","lastSeenAt":"2026-04-26T12:53:38.421Z"}],"details":{"listingId":"487e69b9-d651-4a97-add9-95cf228ee272","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"422-frameworks-quarkus-testing-integration-tests","github":{"repo":"jabrena/cursor-rules-java","stars":362,"topics":["agent-skills","ai-skills","claude","claude-code","claude-code-skills","claude-code-subagents","claude-skills","cursor-agent","cursor-ai","cursor-skills","cursorai","github-copilot","intellij-idea","java","prompting","system-prompts"],"license":"apache-2.0","html_url":"https://github.com/jabrena/cursor-rules-java","pushed_at":"2026-04-26T12:50:01Z","description":"A curated and opinionated collection of Skills and Agents to be used in modern SDLC workflows for Java Enterprise development with your favorite AI Agent harness.","skill_md_sha":"9c7843682e199844803d0d18de2bcc23b596e346","skill_md_path":"skills/422-frameworks-quarkus-testing-integration-tests/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/422-frameworks-quarkus-testing-integration-tests"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"422-frameworks-quarkus-testing-integration-tests","license":"Apache-2.0","description":"Use when you need to write or improve integration tests for Quarkus — including @QuarkusTest, Dev Services for automatic container provisioning, Testcontainers via QuarkusTestResourceLifecycleManager, WireMock for external HTTP stubs, @QuarkusIntegrationTest for black-box testing against packaged artifacts, REST Assured, data isolation strategies (@TestTransaction vs @BeforeEach cleanup), and Maven Surefire/Failsafe three-tier split (*Test, *IT, *AT). This should trigger for requests such as Add or improve integration tests in a Quarkus project; Configure Testcontainers or Dev Services for Quarkus tests; Add WireMock stubs for external HTTP dependencies in Quarkus integration tests; Set up @QuarkusIntegrationTest for packaged artifact or native binary testing; Fix test data isolation or configure Maven Surefire/Failsafe split. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/422-frameworks-quarkus-testing-integration-tests"},"updatedAt":"2026-04-26T12:53:38.421Z"}}