testing-patterns

📁 emvnuel/skill.md 📅 Jan 27, 2026
1
总安装量
1
周安装量
#53787
全站排名
安装命令
npx skills add https://github.com/emvnuel/skill.md --skill testing-patterns

Agent 安装分布

cline 1
qoder 1
opencode 1
cursor 1
claude-code 1

Skill 文档

REST Integration Testing Patterns

Write integration tests for REST endpoints using Quarkus test framework.


Quick Start

Basic REST integration test with RestAssured:

@QuarkusTest
class OrderResourceTest {

    @Test
    void shouldCreateOrder() {
        given()
            .contentType(ContentType.JSON)
            .body("""
                {
                    "customerId": "cust-123",
                    "items": [{"productId": "prod-1", "quantity": 2}]
                }
                """)
        .when()
            .post("/orders")
        .then()
            .statusCode(201)
            .body("id", notNullValue())
            .body("status", equalTo("PENDING"));
    }
}

Core Patterns

REST Integration Tests

Use: Test full request/response cycle through REST layer
Stack: @QuarkusTest + RestAssured
Cookbook: rest-integration-tests.md

Mocking External Dependencies

Use: Isolate tests from external HTTP services, queues, etc.
Stack: @InjectMock with Mockito
Cookbook: mocking-dependencies.md

Database with Testcontainers

Use: Test against real PostgreSQL/MySQL
Stack: Quarkus DevServices or @Testcontainers
Cookbook: testcontainers-setup.md

Database with H2

Use: Fast in-memory alternative when container not needed
Stack: H2 with test profile
Cookbook: h2-setup.md

Raw JSON Request Bodies

Use: Test with exact JSON payloads (no object serialization)
Stack: Text blocks + JsonPath assertions
Cookbook: json-request-bodies.md

Test Structure & Lifecycle

Use: Organize tests with JUnit 5 features
Stack: @Nested, @BeforeEach, naming conventions
Cookbook: test-structure.md


Quick Reference

Pattern When to Use Key Annotation/Tool
REST Integration Test endpoint behavior @QuarkusTest
Mock Dependencies Isolate from external services @InjectMock
Testcontainers Need real database behavior DevServices / Container
H2 In-Memory Fast tests, simple queries %test profile
Raw JSON Bodies Exact payload control Text blocks
Nested Test Classes Group related scenarios @Nested

Cookbook Index

Core Testing: REST Integration Tests · Test Structure

Dependencies: Mocking Dependencies

Database: Testcontainers Setup · H2 Setup

Request/Response: JSON Request Bodies