Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsMay 11, 2026·3 min de lecture

MockServer — Mock Any Server or Service via HTTP and HTTPS

MockServer is a Java-based tool for mocking and proxying HTTP and HTTPS services. It lets developers define request-response expectations programmatically or via JSON, acting as a stub server for integration testing, a proxy recorder for capturing real traffic, and a verification tool for asserting expected API interactions.

Introduction

MockServer enables developers to mock any HTTP or HTTPS service for integration testing, development, and debugging. It supports defining expectations through a REST API, Java client, or JSON configuration, and can also act as a recording proxy that captures real traffic for later replay.

What MockServer Does

  • Stubs HTTP and HTTPS endpoints with configurable request matchers and response templates
  • Records and replays traffic when running as a proxy in front of real services
  • Verifies that expected requests were made with correct headers, body, and parameters
  • Supports dynamic responses with JavaScript templates, delays, and connection drops
  • Runs as a Docker container, JUnit rule, Maven plugin, or standalone JAR

Architecture Overview

MockServer is a Netty-based Java application that listens on configured ports for HTTP and HTTPS connections. Incoming requests are matched against a list of expectations ordered by priority. Each expectation defines request matchers (path, headers, body, query params) and an action (respond, forward, callback, or error). When acting as a proxy, it forwards requests to the real service and records the exchange. The REST API and web UI allow runtime management of expectations and verification of logged requests.

Self-Hosting & Configuration

  • Run via Docker: docker run -d -p 1080:1080 mockserver/mockserver
  • Add as a Maven or Gradle dependency for JUnit-based test suites
  • Configure TLS with custom certificates for HTTPS mocking
  • Define expectations in JSON files loaded at startup for repeatable test environments
  • Use environment variables to set log levels, max expectations, and memory limits

Key Features

  • Rich request matching by path, regex, JSON body, JSON schema, XPath, and headers
  • Dynamic response templating with JavaScript, Velocity, or Mustache templates
  • Proxy mode records real API traffic and generates expectations automatically
  • Request verification API asserts that specific calls were made during a test
  • Web dashboard visualizes active expectations, logged requests, and matched responses

Comparison with Similar Tools

  • WireMock — Similar Java-based mocking; MockServer adds proxy recording and JavaScript templates
  • MSW (Mock Service Worker) — Browser and Node.js interception; MockServer is a standalone server for backend integration tests
  • Hoverfly — Go-based simulation proxy; MockServer has richer Java ecosystem integration
  • Prism — OpenAPI-based mock server; MockServer is schema-agnostic with manual expectation control
  • JSON Server — Simple REST fake server; MockServer provides full request matching and verification

FAQ

Q: Can MockServer mock WebSocket connections? A: MockServer focuses on HTTP and HTTPS. For WebSocket mocking, consider using a dedicated WebSocket mock tool alongside it.

Q: How do I use MockServer in JUnit tests? A: Add the mockserver-junit-jupiter dependency and use the @ExtendWith(MockServerExtension.class) annotation to automatically start and stop the server per test class.

Q: Can I simulate slow responses or errors? A: Yes. Expectations support response delays, connection drops, and custom error codes to test timeout handling and error recovery in clients.

Q: Does MockServer support HTTPS with custom certificates? A: Yes. You can provide your own CA certificate and private key so MockServer generates dynamic certificates for any hostname, enabling transparent HTTPS mocking.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires