Open sourceActive

WireMock

Open-source API mock testing tool for Java and the JVM.

Open source page

Product features

Product features

Android Espresso Support

Run WireMock on Android for Espresso tests.

API Mocking

Mock APIs for testing and development.

Browser proxying for request inspection and replacement

Browser proxying for request inspection and replacement

Client Certificate Authentication

Require clients to present a certificate for authentication.

Docker

Run WireMock in a container.

Dynamic Ports

Randomly assign HTTP or HTTPS ports on startup.

Dynamic response templating

Dynamic response templating.

Fault and latency injection

Helm (Experimental)

Experimental Helm distribution.

Java Configuration

Configure WireMockServer and WireMockRule via a builder.

JAX-RS Stub Generation

Automate configuration of stubs from JAX-RS annotated resources.

Library Usage

Embed WireMock in JUnit tests or other Java applications.

Pre-defined Mock API Templates

Use pre-defined Mock API templates.

NodeJS Client

WireMock Standalone wrapped in an NPM package.

NodeJS + TypeScript Client

WireMock Captain provides an easy interface for testing HTTP-based APIs.

NPM

NPM distribution of WireMock.

PHP Client

PHP client for stubbing and mocking web services.

Prometheus Metrics

Monitor JVM metrics and WireMock response times in Prometheus format.

Quick Starts

Beginner guides for Java/JUnit 4, installation, and Jetty 12.

Advanced request matching

Advanced request matching capabilities.

Configurable response delays

Configurable response delays

Spring Controller Stubs

Generate WireMock stubs for Spring REST controllers.

Standalone JAR

Run WireMock as a standalone server.

Standalone Server

Run WireMock as a standalone process.

Tutorials

Featured external tutorials and contribution guidelines.

Use API Mocking in your unit tests

Use API mocking in unit tests.

Use API Mocking in Unit Tests

Integrate API mocking into your unit tests.

WebSocket mocking

WebSocket mocking - stub responses, verify messages, and broadcast to connected clients