CtrlK
BlogDocsLog inGet started
Tessl Logo

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

71

Quality

63%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/423-frameworks-quarkus-testing-acceptance-tests/SKILL.md
SKILL.md
Quality
Evals
Security

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.

Repository
jabrena/cursor-rules-java
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.