-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Martijn Bodeman edited this page Jan 3, 2023
·
11 revisions
Mock HTTP responses for HttpClient
and verify request expectations, with an experience inspired by Moq.
Install MockHttp via the Nuget package manager or dotnet
cli.
dotnet add package skwas.MockHttp
For JSON (either STJ or Newtonsoft) integration:
dotnet add package skwas.MockHttp.Json
skwas.MockHttp |
||
skwas.MockHttp.Json |
||
skwas.MockHttp.Server |
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);
// Act
var response = await client.GetAsync("http://localhost/controller/action?test=1");
// Assert
mockHttp.Verify();
response.StatusCode.Should().Be(HttpStatusCode.OK);
// ... etc ...