Cursor-rules-java 423-frameworks-quarkus-testing-acceptance-tests

Use when you need to implement acceptance tests from a Gherkin .feature file for Quarkus applications — including @acceptance scenarios, @QuarkusTest, BaseAcceptanceTest with QuarkusTestResourceLifecycleManager for Testcontainers and WireMock, REST Assured for full HTTP pipeline testing, WireMock JSON mapping files (classpath:wiremock/mappings/), *AT suffix naming, and Maven Surefire/Failsafe three-tier split. Requires the .feature file in context. Part of the skills-for-java project

install
source · Clone the upstream repo
git clone https://github.com/jabrena/cursor-rules-java
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jabrena/cursor-rules-java "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/423-frameworks-quarkus-testing-acceptance-tests" ~/.claude/skills/jabrena-cursor-rules-java-423-frameworks-quarkus-testing-acceptance-tests && rm -rf "$T"
manifest: skills/423-frameworks-quarkus-testing-acceptance-tests/SKILL.md
source content

Quarkus acceptance tests from Gherkin

Implement happy-path acceptance tests from Gherkin for Quarkus using real HTTP and infrastructure.

What is covered in this Skill?

  • Preconditions: .feature file in context; Quarkus project confirmed
  • Parsing and filtering scenarios tagged @acceptance / @acceptance-tests
  • BaseAcceptanceTest with @QuarkusTest, @QuarkusTestResource, and QuarkusTestResourceLifecycleManager for:
    • Testcontainers (PostgreSQL, Kafka) with dynamic config injection on startup
    • WireMock with wireMockServer.resetAll() in @BeforeEach to isolate stubs
  • Concrete acceptance test class extending BaseAcceptanceTest:
    • @DisplayName mirroring the Gherkin scenario title
    • Given (stubs + fixtures) / When (REST Assured HTTP call) / Then (response assertions + wireMock.verify)
  • WireMock JSON mapping files under classpath:wiremock/mappings/ with body files under __files/
  • Naming convention: *AT suffix for Failsafe; never *Test (Surefire) or *AcceptanceTest
  • Maven three-tier split: *Test → Surefire, *IT + *AT → Failsafe
  • Happy-path scope by default; escalate to negatives only when explicitly requested

Scope: Apply recommendations based on the reference rules and step workflow.

Constraints

Do not generate without a .feature file; compile before and verify after.

  • PRECONDITION: Gherkin
    .feature
    file must be in context — stop and ask if not provided
  • PRECONDITION: The project must use Quarkus — direct the user to @133 or @323 otherwise
  • MANDATORY: Run
    ./mvnw compile
    or
    mvn compile
    before applying any change
  • PREREQUISITE: Project must compile successfully before generating acceptance test scaffolding
  • BLOCKING CONDITION: Compilation errors must be resolved by the user before proceeding
  • NO EXCEPTIONS: Do not generate tests if the project fails to compile or the feature file is missing
  • VERIFY: Run
    ./mvnw clean verify
    or
    mvn clean verify
    after applying improvements
  • BEFORE APPLYING: Read the reference for detailed steps and safeguards

When to use this skill

  • Implement Quarkus acceptance tests from a Gherkin feature file
  • Set up BaseAcceptanceTest with Testcontainers and WireMock for Quarkus
  • Create WireMock JSON mapping files for external HTTP stubs in Quarkus acceptance tests
  • Configure Maven *AT naming convention and Failsafe plugin for Quarkus acceptance tests

Reference

For detailed guidance, examples, and constraints, see references/423-frameworks-quarkus-testing-acceptance-tests.md.