1.52-beta (Oct 24, 2014)
Oct 10, 2011
Sep 16, 2020
Tom Akehurst (tomakehurst)
Dave Syer (dsyer)
Dominic Tootell (tootedom)
Tomasz Nurkiewicz (nurkiewicz)
Kamil Szymański (kamilszymanski)
Mike Rogers (mike-rogers)
Tim Perry (pimterry)
Sebastian Mancke (smancke)
Andrés Di Falco (adifalco)
Gus Power (guspower)
Rowan Hill (rowanhill)
Aman King (amanking)
Oliver Schönherr (oschoen)
Neil Green (neilg)
Christian Trimble (ctrimble)
Matt Nathan (mattnathan)
Thomas LÉVEIL (thomasleveil)
Oleg Kalnichevski (ok2c)
Paul Clarkin (paulclarkin)
Show all (116)116
Source code


WireMock - a web service test double for all occasions

Key Features

  • HTTP response stubbing, matchable on URL, header and body content patterns
  • Request verification
  • Runs in unit tests, as a standalone process or as a WAR app
  • Configurable via a fluent Java API, JSON files and JSON over HTTP
  • Record/playback of stubs
  • Fault injection
  • Per-request conditional proxying
  • Browser proxying for request inspection and replacement
  • Stateful behaviour simulation
  • Configurable response delays

Full documentation can be found at wiremock.org

Questions and Issues

If you have a question about WireMock, or are experiencing a problem you're not sure is a bug please post a message to the WireMock mailing list.

On the other hand if you're pretty certain you've found a bug please open an issue.


We welcome bug fixes and new features in the form of pull requests. If you'd like to contribute, please be mindful of the following guidelines:

  • All changes should include suitable tests, whether to demonstrate the bug or exercise and document the new feature.
  • Please make one change per pull request.
  • If the new feature is significantly large/complex/breaks existing behaviour, please first post a summary of your idea on the mailing list to generate a discussion. This will avoid significant amounts of coding time spent on changes that ultimately get rejected.
  • Try to avoid reformats of files that change the indentation, tabs to spaces etc., as this makes reviewing diffs much more difficult.

Building WireMock locally

To run all of WireMock's tests:

./gradlew clean test

To build both JARs (thin and standalone):

./gradlew -c release-settings.gradle :java8:shadowJar

The built JAR will be placed under java8/build/libs.

Developing on IntelliJ IDEA

IntelliJ can't import the gradle build script correctly automatically, so run

./gradlew -c release-settings.gradle :java8:idea

Make sure you have no .idea directory, the plugin generates old style .ipr, .iml & .iws metadata files.

You may have to then set up your project SDK to point at your Java 8 installation.

Then edit the module settings. Remove the "null" Source & Test source folders from all modules. Add wiremock as a module dependency to Java 7 & Java 8.