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 enables developers to simulate APIs for testing and development. It helps create stable environments by isolating systems from unreliable third-party services and allows testing against APIs that are still in development. The tool supports multiple configuration methods and can run as a library, standalone server, or within containers.
Developers and QA engineers who need to mock HTTP APIs for integration testing, contract testing, or development environments, particularly in microservices and distributed systems.
Developers choose WireMock for its flexibility, rich matching system, and multiple deployment options, which allow seamless integration into any workflow. Its extensive feature set, including record/playback, fault injection, and stateful behavior simulation, makes it a comprehensive solution for API mocking.
A tool for mocking HTTP services
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports configuration via fluent Java API, JSON files, and a REST API, enabling seamless integration into diverse workflows as highlighted in the key features.
Offers a rich matching system that allows precise criteria on URL, headers, and body content patterns, ensuring accurate simulation of API behavior.
Can automatically generate stubs by recording HTTP traffic proxied to real services, simplifying mock creation and reducing manual setup.
Provides comprehensive APIs and extension points for customization, making it adaptable to specific project needs and complex scenarios.
With over 6 million monthly downloads and support for multiple programming languages, it has a robust ecosystem and active community, as noted in the README.
The open-source version lacks capabilities like OpenAPI integration and dynamic state management, which are reserved for WireMock Cloud, as mentioned in the README banner.
Running WireMock as a standalone server or container requires additional configuration and maintenance compared to simpler, in-process mocking libraries.
Even in standalone mode, it relies on Java, which can be a barrier in environments optimized for other runtimes or seeking minimal dependencies.
Lacks a native graphical user interface for mock management, requiring configuration via code or JSON files, which may not suit non-technical users.