|
|
|
@ -43,6 +43,11 @@ namespace HttpClientStudy.UnitTest
|
|
|
|
|
Assert.NotNull(result.Data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// GET 请求
|
|
|
|
|
/// (默认参数方式:url传参)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[Fact]
|
|
|
|
|
public async Task GetAccount_Id_Test()
|
|
|
|
|
{
|
|
|
|
@ -51,28 +56,40 @@ namespace HttpClientStudy.UnitTest
|
|
|
|
|
BaseAddress = new Uri(TestConfig.WebApiBaseUrl),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccount");
|
|
|
|
|
var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccount?Id=2");
|
|
|
|
|
|
|
|
|
|
responseMessage.EnsureSuccessStatusCode();
|
|
|
|
|
|
|
|
|
|
Assert.NotNull(responseMessage);
|
|
|
|
|
Assert.True(responseMessage.IsSuccessStatusCode);
|
|
|
|
|
|
|
|
|
|
var result = await responseMessage.Content.ReadFromJsonAsync<BaseResult<List<Account>>>();
|
|
|
|
|
Assert.IsType<BaseResult<List<Account>>>(result);
|
|
|
|
|
var result = await responseMessage.Content.ReadFromJsonAsync<BaseResult<Account>>();
|
|
|
|
|
Assert.IsType<BaseResult<Account>>(result);
|
|
|
|
|
Assert.Equal(1, result.Code);
|
|
|
|
|
Assert.NotNull(result.Data);
|
|
|
|
|
Assert.Equal(2, result.Data?.Id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// GET 请求
|
|
|
|
|
/// (中文参数:现在浏览器直接支持,为最大兼容老旧浏览器使用url编码)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[Fact]
|
|
|
|
|
public async Task GetAccount_Name_Test()
|
|
|
|
|
public async Task GetAccountByName_Test()
|
|
|
|
|
{
|
|
|
|
|
HttpClient httpClient = new HttpClient()
|
|
|
|
|
{
|
|
|
|
|
BaseAddress = new Uri(TestConfig.WebApiBaseUrl),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccount");
|
|
|
|
|
var ChineseName = System.Net.WebUtility.UrlEncode("管理员01");
|
|
|
|
|
var ChineseName2 = System.Net.WebUtility.UrlEncode("管理员02");
|
|
|
|
|
|
|
|
|
|
//现在浏览器直接支持中文参数
|
|
|
|
|
//var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccountByName?ChineseName=管理员01&ChineseName2=管理员02");
|
|
|
|
|
|
|
|
|
|
//兼容老浏览器写法
|
|
|
|
|
var responseMessage = await httpClient.GetAsync($"/api/Normal/GetAccountByName?ChineseName={ChineseName}&ChineseName2={ChineseName2}");
|
|
|
|
|
|
|
|
|
|
responseMessage.EnsureSuccessStatusCode();
|
|
|
|
|
|
|
|
|
@ -82,7 +99,7 @@ namespace HttpClientStudy.UnitTest
|
|
|
|
|
var result = await responseMessage.Content.ReadFromJsonAsync<BaseResult<List<Account>>>();
|
|
|
|
|
Assert.IsType<BaseResult<List<Account>>>(result);
|
|
|
|
|
Assert.Equal(1, result.Code);
|
|
|
|
|
Assert.NotNull(result.Data);
|
|
|
|
|
Assert.Equal(2, result.Data?.Count);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
@ -107,7 +124,7 @@ namespace HttpClientStudy.UnitTest
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public async Task GetAccount_Service_Test()
|
|
|
|
|
public async Task GetAccountByService_Test()
|
|
|
|
|
{
|
|
|
|
|
HttpClient httpClient = new HttpClient()
|
|
|
|
|
{
|
|
|
|
|