// the find
SpectoLabs/hoverfly
Lightweight service virtualization/ API simulation / API mocking tool for developers and testers
Hoverfly is a Go-based proxy that sits between your app and its API dependencies, letting you record real traffic and replay it as simulations. It runs as a local proxy server with a CLI companion (hoverctl), and supports modes like capture, simulate, spy, diff, and synthesize. If you're doing contract testing or need to decouple your test suite from flaky third-party APIs, this is a mature option.
The matching system is genuinely deep — you get exact, glob, regex, JSON path, XPath, and JWT matchers, composable per-field. The state machine support (requiring and setting state across a sequence of requests) means you can model multi-step flows like login-then-fetch without hacks. Latency simulation uses a log-normal distribution, which is more realistic than a fixed delay. The simulation format is versioned JSON (v5 currently), importable and exportable, so simulations travel well across teams and CI environments.
The Java binding exists but there's nothing for Python, TypeScript, or .NET — if your team isn't on the JVM or comfortable with the CLI, you're on your own. The proxy-only architecture means you have to configure your app or test runner to actually use it as a proxy, which is awkward for anything that hardcodes base URLs or uses gRPC. Templating is Go's `text/template` with added helpers, which gets messy fast for anything beyond simple token substitution. The project is maintained by iOCO Solutions but community activity is thin — 228 forks and a GitHub Discussions board with sparse traffic signals that if you hit an edge case, you're likely filing a bug rather than finding an answer.