WireMock alternatives and similar libraries
Based on the "Testing" category.
Alternatively, view WireMock alternatives based on common mentions on social networks and blogs.
-
Karate
Karate is the only open-source tool to combine API test-automation, mocks, performance-testing and even UI automation into a single, unified framework. -
TestContainers
Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. -
PowerMock
Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. -
PIT
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites. -
GreenMail
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. -
Arquillian
Integration and functional testing platform for Java EE containers. -
Scott Test Reporter
Detailed failure reports and hassle free assertions for Java tests - Power Asserts for Java -
J8Spec
J8Spec is a library that allows tests written in Java to follow the BDD style introduced by RSpec and Jasmine.
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of WireMock or a related project?
README
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.
Contributing
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.