public async Task GetItemAsyncWithItems() { // arrange string testJson = JsonConvert.SerializeObject(_testItems[1]); var mockMessageHandler = new Mock <HttpMessageHandler>(); mockMessageHandler.Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .Returns(Task.FromResult(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(testJson) })); var httpClient = new HttpClient(mockMessageHandler.Object); AnItem item = await HttpClientExtensions.GetItemAsync <AnItem>(httpClient, "https://www.cninnovation.com"); Assert.Equal("second", item.Text); }