Files
WireMock.Net-wiremock/PackageReadme.md
Stef Heyenrath 4b12f3419f Add Aspire Extension (#1109)
* WireMock.Net.Aspire

* .

* xxx

* nuget

* [CodeFactor] Apply fixes

* ut

* t

* **WireMock.Net.Aspire**

* .

* t

* .

* .

* .

* TESTS

* docker utils

* Install .NET Aspire workload

* 4

* 4!

* projects: '**/test/**/*.csproj'

* script: 'dotnet workload install aspire'

* projects: '**/test/**/*.csproj'

* coverage

* WithWatchStaticMappings

* Admin

* typo

* port

* fix

* .

* x

* ...

* wait

* readme

* x

* 2

* async

* <Version>0.0.1-preview-03</Version>

* ...

* fix aspire

* admin/pwd

* Install .NET Aspire workload

* 0.0.1-preview-04

* WaitForHealthAsync

* ...

* IsHealthyAsync

* .

* add eps

* name: 'Execute Aspire Tests'

* name: Install .NET Aspire workload

* .

* dotnet test

* remove duplicate

* .

* cc

* dotnet tool install --global coverlet.console

* -*

* merge

* /d:sonar.pullrequest.provider=github

* <Version>0.0.1-preview-05</Version>

* // Copyright © WireMock.Net

* .

---------

Co-authored-by: codefactor-io <support@codefactor.io>
2024-07-27 18:53:59 +02:00

3.6 KiB

WireMock.Net

Lightweight Http Mocking Server for .NET, inspired by WireMock.org (from the Java landscape).

Key Features

  • HTTP response stubbing, matchable on URL/Path, headers, cookies and body content patterns
  • Library can be used in unit tests and integration tests
  • Runs as a standalone process, as windows service, as Azure/IIS or as docker
  • Configurable via a fluent C# .NET API, JSON files and JSON over HTTP
  • Record/playback of stubs (proxying)
  • Per-request conditional proxying
  • Stateful behaviour simulation
  • Response templating / transformation using Handlebars and extensions
  • Can be used locally or in CI/CD scenarios
  • Can be used for Aspire Distributed Application testing

Stubbing

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

Request Matching

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

Response Templating

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

Admin API Reference

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

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

📚 Documentation

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