-
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.MockHttpFor JSON (either STJ or Newtonsoft) integration:
dotnet add package skwas.MockHttp.Jsonskwas.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 ...