WireMock vs MockServer vs custom mock — what we tried and what we kept
Ajitesh MohantaAmbassador
Mar 27, 2026 2,250 0
We needed to mock 3 external APIs for our integration test suite. Tried three approaches over 6 months:
**WireMock**
- Pros: mature, great stub DSL, admin API for dynamic stubs
- Cons: Java-first (the Python client is thin), Docker image is heavy for CI
- Result: used it for 4 months, then moved on
**MockServer**
- Pros: better Python SDK, JSON-based configuration, can verify expectations
- Cons: documentation is dense, verification API has quirks
- Result: currently our primary mock for external HTTP services
**Custom Flask mock**
- Pros: full control, easy to simulate weird edge cases (malformed JSON, slow responses)
- Cons: we own the maintenance, got complex fast
- Result: kept it for 2 specific APIs that needed complex stateful behaviour
If starting fresh: MockServer for most things, custom only when you need stateful or slow-response simulation.