首页 新闻 会员 周边

.NET: 如何基于 WebApplication 创建 WebHostBuilder 给 TestServer 使用

0
悬赏园豆:30 [已解决问题] 解决于 2023-02-06 08:13

想在测试用例中不使用 WebApplicationFactory,直接使用 TestServerTestServer 的构造函数需要传参 IWebHostBuilder 的实例, 如果能通过 WebApplication 创建 IWebHostBuilder 会更方便,请问是否可以实现?

IWebHostBuilder builder = new WebHostBuilder();
var testServer = new TestServer(builder);
var httpClient = testServer.CreateClient();
var response = await httpClient.GetAsync("/dapr/subscribe");
response.StatusCode.Should().Be(HttpStatusCode.OK);
dudu的主页 dudu | 高人七级 | 园豆:31003
提问于:2023-02-05 21:22
< >
分享
最佳答案
0

通过下面的代码解决了

var builder = WebApplication.CreateBuilder();
builder.WebHost.UseTestServer();

var app = builder.Build();
app.MapGet("/", () => "Hello World!");
await app.StartAsync();

var httpClient = app.GetTestClient();
var response = await httpClient.GetAsync("/");

Console.WriteLine(await response.Content.ReadAsStringAsync());
response.StatusCode.Should().Be(HttpStatusCode.OK);
dudu | 高人七级 |园豆:31003 | 2023-02-06 08:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册