{"id":"dd660c82-2346-446c-8105-a560d639e610","shortId":"WGSCpd","kind":"skill","title":"522-frameworks-micronaut-testing-integration-tests","tagline":"Use when you need to write or improve integration tests for Micronaut — @MicronautTest, HttpClient, TestPropertyProvider with Testcontainers, transactional test mode where appropriate, and Maven Surefire/Failsafe splits for *Test, *Tests, *IT, and *AT. This should trigger for req","description":"# Micronaut Integration Testing\n\nProve real wiring in Micronaut with containers and HTTP.\n\n**What is covered in this Skill?**\n\n- Scope: contracts and boundaries, not duplicated unit-test logic\n- TestPropertyProvider + static @Container for JDBC/Kafka properties\n- HttpClient full-stack HTTP assertions\n- @MicronautTest(transactional = true) for rollback where supported\n- Shared containers per class; pinned image tags\n- Maven Surefire/Failsafe: *Test / *Tests vs *IT / *AT; explicit plugin includes and excludes\n\n**Scope:** Apply recommendations based on the reference rules and good/bad code examples.\n\n## Constraints\n\nBefore applying any integration test changes, ensure the project compiles. If compilation fails, stop immediately. After applying improvements, run full verification.\n\n- **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change\n- **PREREQUISITE**: Project must compile successfully and pass basic validation checks before any test refactoring\n- **CRITICAL SAFETY**: If compilation fails, IMMEDIATELY STOP and DO NOT CONTINUE with any recommendations\n- **BLOCKING CONDITION**: Compilation errors must be resolved by the user before proceeding with integration test changes\n- **NO EXCEPTIONS**: Under no circumstances should testing recommendations be applied to a project that fails to compile\n- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements\n- **BEFORE APPLYING**: Read the reference for detailed rules and examples\n\n## When to use this skill\n\n- Add Micronaut integration tests with Testcontainers\n- Wire dynamic datasource or broker URLs for @MicronautTest\n\n## Workflow\n\n1. **Read reference and assess project context**\n\nRead `references/522-frameworks-micronaut-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/522-frameworks-micronaut-testing-integration-tests.md](references/522-frameworks-micronaut-testing-integration-tests.md).","tags":["522","frameworks","micronaut","testing","integration","tests","cursor","rules","java","jabrena","agent-skills","ai-skills"],"capabilities":["skill","source-jabrena","skill-522-frameworks-micronaut-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/522-frameworks-micronaut-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,476 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:39.399Z","embedding":null,"createdAt":"2026-04-18T22:02:28.866Z","updatedAt":"2026-04-26T12:53:39.399Z","lastSeenAt":"2026-04-26T12:53:39.399Z","tsv":"'/mvnw':147,219 '1':259 '2':277 '3':297 '4':314 '522':1 'action':335 'add':244 'align':301 'appli':112,125,140,153,209,227,230,296,298 'appropri':29,321 'assert':84 'assess':263 'base':114 'basic':163 'block':184 'boundari':66 'broker':254 'build/tests':322 'chang':129,155,199,276,294,302,326 'check':165 'circumst':204 'class':95 'clean':220,224 'code':121 'compil':133,135,148,151,159,173,186,216 'condit':185 'configuration/code':306 'constraint':123,287,342 'contain':54,75,93 'context':265 'continu':180 'contract':64 'convent':313 'cover':59 'critic':170 'current':271 'datasourc':252 'decid':281 'detail':235,338 'duplic':68 'dynam':251 'ensur':130 'error':187 'exampl':122,238,340 'except':201 'exclud':110 'execut':320 'explicit':106 'fail':136,174,214 'follow':307,333 'follow-up':332 'framework':3,300 'framework-align':299 'frameworks-micronaut-testing-integration-test':2 'full':81,143 'full-stack':80 'gather':278 'good/bad':120 'guidanc':339 'http':56,83 'httpclient':21,79 'identifi':284 'imag':97 'immedi':138,175 'implement':303 'improv':15,141,228,283 'includ':108 'inspect':269 'integr':6,16,46,127,197,246 'jdbc/kafka':77 'logic':72 'mandatori':145 'maven':31,99 'micronaut':4,19,45,52,245 'micronauttest':20,85,257 'minimum':290 'mode':27 'must':158,188 'mvn':150,223 'need':11 'outcom':286 'pass':162 'pattern':310 'per':94 'pin':96 'plugin':107 'prerequisit':156 'proceed':195 'project':132,157,212,264,272,312 'properti':78 'propos':275 'prove':48 'read':231,260,266 'real':49 'recommend':113,183,207 'refactor':169,305 'refer':117,233,261,309,336 'references/522-frameworks-micronaut-testing-integration-tests.md':267,344,345 'report':318 'req':44 'request':285 'resolv':190 'result':319 'rollback':89 'rule':118,236 'run':142,146,218,315 'safe':291 'safeti':171 'scope':63,111,279 'see':343 'set':292 'setup':273 'share':92 'skill':62,243 'skill-522-frameworks-micronaut-testing-integration-tests' 'source-jabrena' 'split':33 'stack':82 'static':74 'stop':137,176 'success':160 'summar':324 'support':91 'surefire/failsafe':32,100 'tag':98 'target':282 'test':5,7,17,26,35,36,47,71,101,102,128,168,198,206,247 'testcontain':24,249 'testpropertyprovid':22,73 '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' 'transact':25,86 'trigger':42 'true':87 'unit':70 'unit-test':69 'url':255 'use':8,241 'user':193 'valid':164 'verif':144,316 'verifi':217,221,225,329 'vs':103 'wire':50,250 'workflow':258 'write':13","prices":[{"id":"db9cdf66-ff2c-4126-98ec-4d4d5c432360","listingId":"dd660c82-2346-446c-8105-a560d639e610","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:28.866Z"}],"sources":[{"listingId":"dd660c82-2346-446c-8105-a560d639e610","source":"github","sourceId":"jabrena/cursor-rules-java/522-frameworks-micronaut-testing-integration-tests","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/522-frameworks-micronaut-testing-integration-tests","isPrimary":false,"firstSeenAt":"2026-04-18T22:02:28.866Z","lastSeenAt":"2026-04-26T12:53:39.399Z"}],"details":{"listingId":"dd660c82-2346-446c-8105-a560d639e610","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"522-frameworks-micronaut-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":"534f1f3c73b06fc8a06fbe6d973132eddf4f2e01","skill_md_path":"skills/522-frameworks-micronaut-testing-integration-tests/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/522-frameworks-micronaut-testing-integration-tests"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"522-frameworks-micronaut-testing-integration-tests","license":"Apache-2.0","description":"Use when you need to write or improve integration tests for Micronaut — @MicronautTest, HttpClient, TestPropertyProvider with Testcontainers, transactional test mode where appropriate, and Maven Surefire/Failsafe splits for *Test, *Tests, *IT, and *AT. This should trigger for requests such as Add Micronaut integration tests with Testcontainers; Wire dynamic datasource or broker URLs for @MicronautTest. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/522-frameworks-micronaut-testing-integration-tests"},"updatedAt":"2026-04-26T12:53:39.399Z"}}