/MockHttp

.NET library to mock HTTP responses for any HTTP client and verify request expectations with an experience inspired by Moq.

Primary LanguageC#Apache License 2.0Apache-2.0

MockHttp

Collection of .NET libraries to mock HTTP responses for any HTTP client (HttpClient, WebRequest, RestClient, etc.) and verify request expectations with an experience inspired by Moq.


Main workflow Quality Gate Status Coverage

skwas.MockHttp NuGet NuGet Documentation
skwas.MockHttp.Json NuGet NuGet Documentation
skwas.MockHttp.Server NuGet NuGet Documentation

Documentation

Please see the wiki for documentation.

Usage example

MockHttpHandler mockHttp = new MockHttpHandler();

// Configure setup(s).
mockHttp
    .When(matching => matching
        .Method("GET")
        .RequestUri("http://localhost/controller/*")
    )
    .Respond(with => with
        .StatusCode(200)
        .JsonBody(new { id = 123, firstName = "John", lastName = "Doe" })
    )
    .Verifiable();

var client = new HttpClient(mockHttp);

var response = await client.GetAsync("http://localhost/controller/action?test=1");

// Verify expectations.
mockHttp.Verify();

Contributions

Please check out the contribution guidelines.

Other info

While this library was inspired by Moq - it does not and will not include SponsorLink. I have no direct relation to Moq or its author.