A flexible open-source tool for mocking HTTP services to create stable test and development environments.
WireMock is an open-source tool for mocking HTTP services that helps developers create stable test and development environments. It isolates teams from flaky third-party APIs and allows simulation of APIs that don't exist yet, supporting multiple programming languages and deployment methods.
Developers and QA engineers who need to mock external HTTP services for testing, development, or prototyping purposes, particularly in microservices and API-driven architectures.
Developers choose WireMock for its flexibility, rich request matching system, multiple configuration options (code, JSON, REST API), and ability to run as a library, standalone server, or container—making it easy to integrate into any workflow.
A tool for mocking HTTP services
WireMock's rich matching system allows precise criteria on URL, headers, and body content, enabling accurate mock responses based on complex request patterns, as detailed in its features.
Supports configuration via fluent Java API, JSON files, and JSON over HTTP, making it adaptable to different development workflows and testing environments, per the README.
The record/playback feature automatically generates stubs by proxying and recording HTTP traffic, simplifying mock creation from real API interactions, as highlighted in the key features.
With numerous extension points and comprehensive APIs, WireMock can be customized and integrated into any workflow, ensuring flexibility for complex scenarios.
Advanced capabilities like OpenAPI support and dynamic state are reserved for the paid WireMock Cloud, as mentioned in the README, limiting the open-source version's functionality.
Initial setup and maintenance require more effort compared to lighter mocking tools, which might be a barrier for teams seeking quick, out-of-the-box solutions.
While documentation exists, users often need to rely on the Slack community for help, indicating potential gaps in official documentation for edge cases, as noted in the README.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.