finds.dev← search

// the find

wiremock/WireMock.Net

★ 1,678 · C# · Apache-2.0 · updated Jul 2026

WireMock.Net is a flexible product for stubbing and mocking web HTTP responses using advanced request matching and response templating. Based on WireMock Java, but extended and different functionality. Full documentation can be found at https://wiremock.org/dotnet/.

WireMock.Net is a .NET port of the Java WireMock library for stubbing HTTP dependencies in tests. It runs as an in-process server you configure via fluent API or JSON, intercepts HTTP calls made by your code under test, and returns whatever responses you define. It's for .NET developers who test code that calls external APIs and want something more capable than hand-rolled HttpMessageHandler fakes.

The request matching is genuinely deep — you can match on URL patterns, headers, cookies, JSON path, XML XPath, and body content with regex or wildcards, and combine them with AND/OR logic. The record/playback proxy mode is useful for capturing real traffic once and replaying it in CI without hitting production. The Aspire and Testcontainers integrations are first-class and recent, meaning you can wire it into distributed integration test setups without ceremony. The package split is sensible: WireMock.Net.Minimal exists specifically to keep the dependency footprint down when you don't need gRPC or GraphQL matching.

The package count is out of control — 20+ NuGet packages for a test dependency is a maintenance surface that will bite you when versions drift and you get assembly conflicts between WireMock.Net.FluentAssertions and whatever assertion library you already have. The 1.7.0 breaking change that removed LinqMatcher due to a CVE in System.Linq.Dynamic.Core signals that some of the extension points were built on dependencies with poor security track records. The documentation lives on wiremock.org but was clearly written in pieces by different people — stateful behavior scenarios are explained adequately, but the Handlebars templating reference is thin and the error messages when a template fails at runtime are not helpful. It also diverges from the Java WireMock enough that if you're porting tests from a Java team, you'll hit undocumented behavioral differences.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →