public async Task MockHttpClientExceptionIsThrownIfUnmatchedResult() { var expected = "\n\nUnmatched setup result:\nStatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1, Content: System.Net.Http.StringContent, Headers:\r\n{\r\n Content-Type: text/plain; charset=utf-8\r\n}\n"; var mock = new MockHttpClient(); var content = new StringContent("content"); mock.SetupPost("/api").ReturnsAsync(200).ReturnsAsync(404, content); var request = new SystemHttpRequestMessage(HttpMethod.Post, "/api"); request.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); request.Content = new System.Net.Http.StringContent("actual body"); var result = await mock.Object.SendAsync(request); var exception = Assert.Throws <MockHttpClientException>(() => mock.VerifyAll()); Assert.Equal(ExceptionReasonTypes.UnmatchedResult, exception.Reason); Assert.Equal(expected, exception.Message); }