• Stars
    star
    6,029
  • Rank 6,366 (Top 0.2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 12 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A tool for mocking HTTP services

WireMock - flexible and open source API mocking

WireMock Logo

Build Status Docs a Participate Maven Central

WireMock is a popular open-source tool for API mock testing with over 5 million downloads per month. It can help you to create stable test and development environments, isolate yourself from flakey 3rd parties and simulate APIs that don’t exist yet.

Started in 2011 as a Java library by Tom Akehurst, now WireMock spans across multiple programming languages and technology stacks. It can run as a library or client wrapper in many languages, or as a standalone server. There is a big community behind the project and its ecosystem.

WireMock supports several approaches for creating mock APIs - in code, via its REST API, as JSON files and by recording HTTP traffic proxied to another destination. WireMock has a rich matching system, allowing any part of an incoming request to be matched against complex and precise criteria. Responses of any complexity can be dynamically generated via the Handlebars based templating system. Finally, WireMock is easy to integrate into any workflow due to its numerous extension points and comprehensive APIs.

Key Features

WireMock can run in unit tests, as a standalone process or a container. Key features include:

  • HTTP response stubbing, matchable on URL, header and body content patterns
  • Configuration via a fluent Java API, JSON files and JSON over HTTP
  • Record/playback of stubs
  • Request verification
  • Fault and response delays injection
  • Per-request conditional proxying
  • Browser proxying for request inspection and replacement
  • Stateful behaviour simulation
  • Extensibility

Full documentation can be found at wiremock.org/docs.

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 Community Slack in the #help channel.

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

Log4j Notice

WireMock only uses log4j in its test dependencies. Neither the thin nor standalone JAR depends on or embeds log4j, so you can continue to use WireMock 2.32.0 and above without any risk of exposure to the recently discovered vulnerability.

Contributing

WireMock exists and continues to thrive due to the efforts of contributors. Regardless of your expertise and time you could dedicate, there're opportunities to participate and help the project!

See the Contributing Guide for more information.

More Repositories

1

wiremock-docker

Wiremock Docker image
Java
198
star
2

python-wiremock

A Python library for API mocking and testing with Testcontainers module and WireMock
Python
48
star
3

kotlin-wiremock

Kotlin DSL for WireMock
Kotlin
42
star
4

go-wiremock

Golang WireMock admin API client
Go
31
star
5

wiremock-testcontainers-java

TestContainers Module for WireMock
Java
27
star
6

wiremock-webhooks-extension

Webhook simulation for WireMock
Java
24
star
7

wiremock-graphql-extension

GraphQL extension for WireMock
Kotlin
21
star
8

helm-charts

Helm Chart for Wiremock deployment on Kubernetes
Mustache
19
star
9

wiremock-npm

Wiremock Standalone wrapped in an NPM package so that it can be run with 'npx wiremock'.
JavaScript
13
star
10

api-template-library

WireMock API Templates Library
Shell
12
star
11

wiremock.org

WireMock website, powered by Jekyll. Contributions are welcome!
HTML
10
star
12

wiremock-cloud-demo-app

MockLab demo Java app based on Spring Boot
Java
8
star
13

wiremock-testcontainers-node

WireMock module for Testcontainers for NodeJS
JavaScript
8
star
14

robotframework-wiremock

Robot framework library for WireMock
RobotFramework
5
star
15

wiremock-faker-extension

Java
5
star
16

com.github.tomakehurst-relocation

Temporary relocation parent POMs for WireMock packages
2
star
17

wiremock-community-analytics

WireMock Community Analytics, powered by GrimoireLab and a few scripts
Shell
2
star
18

wiremock-quarkus-devservice-demo

Demo of the Quarkus Dev service for WireMock
HTML
1
star
19

library.wiremock.org-sources

WireMock API Templates Library
HTML
1
star
20

wiremock-extension-state

Java
1
star
21

ecosystem

Feature requests and documentation for all things WireMock ecosystem: integrations, extensions, etc.
1
star
22

spec

WireMock Specifications
1
star
23

.github

Configurations for the GitHub Repository
1
star
24

community

Shared repository for community matters: governance, artwork, TODOs, etc.
1
star
25

wiremock-jwt-extension

Handlebars template helper for producing JWT and JWKS
Java
1
star