main
wanggaofeng 8 months ago
parent 198b90bda3
commit 9000891f52

@ -1,10 +1,8 @@
using System.Net.Http.Headers; using System.Net;
using System.Net.Http.Json; using System.Net.Http.Json;
using System.Net.Http;
using System.Net.Mime; using System.Net.Mime;
using System.Net;
namespace HttpClientStudy.Core namespace HttpClientStudy.UnitTest.HttpClients
{ {
/// <summary> /// <summary>
/// 简单 HttpClient 包装类 /// 简单 HttpClient 包装类

@ -1,38 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
namespace HttpClientStudy.UnitTest
{
public class DelegatingHandlerTest
{
private readonly ITestOutputHelper _logger;
public DelegatingHandlerTest(ITestOutputHelper outputHelper)
{
_logger = outputHelper;
}
[Fact]
public async Task Test()
{
//构建管道
var handler = new HandlerA()
{
//相当于下一个中间件(管道)
InnerHandler = new HandlerB()
};
HttpClient httpClient = new HttpClient(handler);
var sd = await httpClient.GetAsync(TestConfig.WebApiBaseUrl + "/api/");
var contentText = await sd.Content.ReadAsStringAsync();
_logger.WriteLine(contentText);
}
}
}

@ -1,8 +1,14 @@
global using System; global using System;
global using System.Collections.Generic;
global using System.Linq; global using System.Linq;
global using System.Text; global using System.Text;
global using System.Threading.Tasks; global using System.Threading.Tasks;
global using System.Collections.Generic;
global using System.Net;
global using System.Net.Mime;
global using System.Net.Http;
global using System.Net.Http.Json;
global using System.Net.Http.Headers;
global using Xunit; global using Xunit;
global using Xunit.Sdk; global using Xunit.Sdk;

@ -8,17 +8,42 @@ namespace HttpClientStudy.UnitTest.HttpClients
{ {
public class PipelineClientTest public class PipelineClientTest
{ {
public PipelineClientTest() { } private readonly ITestOutputHelper _logger;
public PipelineClientTest(ITestOutputHelper outputHelper)
{
_logger = outputHelper;
}
/// <summary>
/// 手动处理
/// </summary>
[Fact] [Fact]
public async Task Test() public async Task Delegating_Test()
{ {
HttpClient client = new PipelineHttpClient().CreateHttpClient(); //构建管道
var handler = new HandlerA()
{
//相当于下一个中间件(管道)
InnerHandler = new HandlerB()
};
var r = await client.GetAsync("https://www.baidu.com"); //构造中传入管道对象
r.EnsureSuccessStatusCode(); HttpClient httpClient = new HttpClient(handler);
var sd = await httpClient.GetAsync(TestConfig.WebApiBaseUrl + "/api/account/ping");
var contentText = await sd.Content.ReadAsStringAsync();
_logger.WriteLine(contentText);
}
[Fact]
public async Task CreateHttpClient_Test()
{
HttpClient client = new PipelineHttpClient().CreateHttpClient();
var r = await client.GetAsync(TestConfig.WebApiBaseUrl + "/api/account/ping");
r.EnsureSuccessStatusCode();
} }
} }
} }

@ -5,17 +5,17 @@ namespace HttpClientStudy.UnitTest
/// <summary> /// <summary>
/// 使用 xUnit 单元测试框架 /// 使用 xUnit 单元测试框架
/// </summary> /// </summary>
public class UseXunitTest public class UseXUnitTest
{ {
private readonly ITestOutputHelper _logger; private readonly ITestOutputHelper _logger;
public UseXunitTest(ITestOutputHelper outputHelper) public UseXUnitTest(ITestOutputHelper outputHelper)
{ {
_logger = outputHelper; _logger = outputHelper;
} }
[Fact] [Fact]
public void UseXunit_Test() public void UseXUnit_Test()
{ {
_logger.WriteLine("使用 xUnit 单元测试框架!"); _logger.WriteLine("使用 xUnit 单元测试框架!");
Assert.True(true,"使用 xUnit"); Assert.True(true,"使用 xUnit");

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HttpClientStudy.UnitTest.WebApp
{
/// <summary>
/// 测试工具类
/// </summary>
public class WebAppUtils
{
}
}
Loading…
Cancel
Save