diff --git a/HttpClientStudy.UnitTest/HttpClientTest.cs b/HttpClientStudy.UnitTest/HttpClientTest.cs index 6d9ca2f..c641d54 100644 --- a/HttpClientStudy.UnitTest/HttpClientTest.cs +++ b/HttpClientStudy.UnitTest/HttpClientTest.cs @@ -9,7 +9,13 @@ namespace HttpClientStudy.UnitTest { public class HttpClientTest { + public static HttpClient GetHttpClient = new HttpClient() + { + BaseAddress = new Uri("http://localhost:5189"), + }; + private readonly ITestOutputHelper _logger; + public HttpClientTest(ITestOutputHelper outputHelper) { _logger = outputHelper; @@ -25,20 +31,18 @@ namespace HttpClientStudy.UnitTest [Fact] public async Task GetWithBody_Test() { - HttpClient httpClient = new HttpClient(); - var formData = new List> { new KeyValuePair("param1", "value1"), new KeyValuePair("param2", "value2") }; - HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get,"http://localhost:5189/api/AdvancedGet/GetWithBody"); + HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get,"/api/AdvancedGet/GetWithBody"); requestMessage.Content = new FormUrlEncodedContent(formData); - var response = await httpClient.SendAsync(requestMessage); + var response = await GetHttpClient.SendAsync(requestMessage); response.EnsureSuccessStatusCode(); var responseText = await response.Content.ReadAsStringAsync(); _logger.WriteLine(responseText); @@ -48,30 +52,44 @@ namespace HttpClientStudy.UnitTest /// /// Post模型绑定对比 /// - /// [Fact] - public async Task PostDemo_Test() + public async Task PostFormData_Test() { - HttpClient httpClient = new HttpClient(); - var formData = new List> { - new KeyValuePair("param1", "value1"), - new KeyValuePair("param2", "value2") + new KeyValuePair("Id", "1"), + new KeyValuePair("Name", "伍佰") }; - HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, "http://localhost:5189/api/AdvancedGet/PostDemo"); + HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, "/api/AdvancedGet/PostFormData"); requestMessage.Content = new FormUrlEncodedContent(formData); - var response = await httpClient.SendAsync(requestMessage); + var response = await GetHttpClient.SendAsync(requestMessage); response.EnsureSuccessStatusCode(); var responseText = await response.Content.ReadAsStringAsync(); _logger.WriteLine(responseText); } + /// + /// Post模型绑定对比 + /// + [Fact] + public async Task PostJsonData_Test() + { + var vm = new AdvancedGetModel() { Id=2, Name="伍佰"}; + + var response = await GetHttpClient.PostAsJsonAsync("/api/AdvancedGet/PostJsonData", vm); + + response.EnsureSuccessStatusCode(); + + var responseText = await response.Content.ReadAsStringAsync(); + _logger.WriteLine(responseText); + } + #endregion + } }