Home

Awesome

WireMock.Net

A C# .NET version based on mock4net which mimics the functionality from the JAVA based WireMock.

For more info, see also this WIKI page: What is WireMock.Net.

:star: Key Features

:memo: Blogs

:computer: Project Info

Project 
  ChatSlack Gitter
  IssuesGitHub issues
Quality 
  Build AzureBuild Status Azure
  QualitySonar Quality Gate CodeFactor
  Sonar BugsSonar Bugs Sonar Code Smells
  CoverageSonar Coverage codecov
  TIOBETIOBE Quality Indicator

:package: NuGet packages

OfficialPreview :information_source:
  WireMock.NetNuGet Badge WireMock.NetMyGet Badge WireMock.Net
  WireMock.Net.StandAloneNuGet Badge WireMock.NetMyGet Badge WireMock.Net.StandAlone
  WireMock.Net.TestcontainersNuGet Badge WireMock.Net.TestcontainersMyGet Badge WireMock.Net.Testcontainers
  WireMock.Net.AspireNuGet Badge WireMock.Net.AspireMyGet Badge WireMock.Net.Aspire
  WireMock.Net.AspNetCore.MiddlewareNuGet Badge WireMock.Net.AspNetCore.MiddlewareMyGet Badge WireMock.Net.AspNetCore.Middleware
  WireMock.Net.FluentAssertionsNuGet Badge WireMock.Net.FluentAssertionsMyGet Badge WireMock.Net.FluentAssertions
  WireMock.Net.xUnitNuGet Badge WireMock.Net.xUnitMyGet Badge WireMock.Net.xUnit
  WireMock.Net.TUnitNuGet Badge WireMock.Net.TUnitMyGet Badge WireMock.Net.TUnit
  WireMock.Net.Matchers.CSharpCodeNuGet Badge WireMock.Net.Matchers.CSharpCodeMyGet Badge WireMock.Net.Matchers.CSharpCode
  WireMock.Net.OpenApiParserNuGet Badge WireMock.Net.OpenApiParserMyGet Badge WireMock.Net.OpenApiParser
  WireMock.Net.RestClientNuGet Badge WireMock.Net.RestClientMyGet Badge WireMock.Net.RestClient
  WireMock.Org.RestClientNuGet Badge WireMock.Org.RestClientMyGet Badge WireMock.Org.RestClient

:memo: Development

For the supported frameworks and build information, see this page.

:star: Stubbing

A core feature of WireMock.Net is the ability to return predefined HTTP responses for requests matching criteria. See Wiki : Stubbing.

:star: Request Matching

WireMock.Net support advanced request-matching logic, see Wiki : Request Matching.

:star: Response Templating

The response which is returned WireMock.Net can be changed using templating. This is described here Wiki : Response Templating.

:star: Admin API Reference

The WireMock admin API provides functionality to define the mappings via a http interface see Wiki : Admin API Reference.

:star: Using

WireMock.Net can be used in several ways:

UnitTesting

You can use your favorite test framework and use WireMock within your tests, see Wiki : UnitTesting.

Unit/Integration Testing using Testcontainers.DotNet

See Wiki : WireMock.Net.Testcontainers on how to build a WireMock.Net Docker container which can be used in Unit/Integration testing.

Unit/Integration Testing using an an Aspire Distributed Application

See Wiki : WireMock.Net.Aspire on how to use WireMock.Net as an Aspire Hosted application to do Unit/Integration testing.

As a dotnet tool

It's simple to install WireMock.Net as (global) dotnet tool, see Wiki : dotnet tool.

As standalone process / console application

This is quite straight forward to launch a mock server within a console application, see Wiki : Standalone Process.

As a Windows Service

You can also run WireMock.Net as a Windows Service, follow this WireMock-as-a-Windows-Service.

As a Web Job in Azure or application in IIS

See this link WireMock-as-a-(Azure)-Web-App

In a docker container

There is also a Linux and Windows-Nano container available at hub.docker.com. For more details see also Docker.

HTTPS / SSL

More details on using HTTPS (SSL) can be found here Wiki : HTTPS