
Unit Test Wiremock Rest Api
This gives you WireMock patterns for testing REST API integrations without hitting real endpoints. Stub responses, verify request details like headers and query params, and simulate failures (timeouts, 500 errors, malformed JSON). It uses JUnit 5 extensions with dynamic ports to avoid conflicts in parallel test runs. The examples cover basic stubbing and verification, with references to advanced scenarios for body matching and stateful mocking. If you're writing services that call external APIs and want fast, deterministic tests that don't depend on network state or third-party availability, this is the standard approach. Just make sure you keep your stubs in sync with actual API contracts.
- skills.sh installs
- 3.9K
- GitHub stars
- 369
- last updated
- Aug 21, 2026
Install
$ npx -y skills add giuseppe-trisciuoglio/developer-kit --skill unit-test-wiremock-rest-api --agent claude-codeInstalls into .claude/skills of the current project.
Files
Unit Testing REST APIs with WireMock
Overview
Patterns for testing external REST API integrations with WireMock: stubbing responses, verifying requests, error scenarios, and fast tests without network dependencies.
When to Use
- Testing services calling external REST APIs
- Stubbing HTTP responses for predictable test behavior
- Testing error scenarios (timeouts, 5xx errors, malformed responses)
- Verifying request details (headers, query params, request body)
Instructions
- Add dependency: WireMock in test scope (Maven/Gradle)
- Register extension:
@RegisterExtension WireMockExtensionwithdynamicPort() - Configure client: Use
wireMock.getRuntimeInfo().getHttpBaseUrl()as base URL - Stub responses:
stubFor()with request matching (URL, headers, body) - Execute and assert: Call service methods, validate results with AssertJ
- Verify requests:
verify()to ensure correct API usage
If stub not matching: Check URL encoding, header names, use urlEqualTo for query params.
If tests hanging: Configure connection timeouts in HTTP client; use withFixedDelay() for timeout simulation.
Sponsors
Details
- Repository
- github.com/giuseppe-trisciuoglio/developer-kit
- Categories
- Backend & APIs, Testing & QA
- First seen
- May 16, 2026
More from giuseppe-trisciuoglio/developer-kit
All 102- Spring Boot Actuator3.9K
- Nextjs Authentication3.9K
- Spring Boot Dependency Injection3.9K
- Unit Test Controller Layer3.9K
- Unit Test Parameterized3.9K
- Unit Test Json Serialization3.9K
- Spring Boot Saga Pattern3.9K
- Spring Data Neo4j3.9K
- Unit Test Security Authorization3.9K
- Nextjs Data Fetching3.9K
- Langchain4j Tool Function Calling Patterns3.9K
- Nx Monorepo3.9K
- Langchain4j Spring Boot Integration3.9K
- Langchain4j Rag Implementation Patterns3.9K
- Unit Test Scheduled Async3.9K
- Rag3.9K
- Unit Test Utility Methods3.9K
- Qdrant3.9K
- Unit Test Exception Handler3.9K
- Unit Test Mapper Converter3.9K
- Langchain4j Ai Services Patterns3.9K
- Unit Test Caching3.8K
- Unit Test Config Properties3.8K
- Unit Test Application Events3.8K