我正在使用 .NET Core 2.2 IHostBuilder(通用主机生成器)构建一个控制台应用程序,将消息流应用程序作为 BackgroundService(IHostedService)运行。 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/generic-host?view=aspnetcore-2.2
这不是通常用于托管 ASP.NET Core Web 应用程序的 IWebHostBuilder。
我想构建一些基本的集成测试来验证正常关闭和 IoC 配置。我想启动一个托管我的 IHostBuilder 主机的 TestServer。我不需要提供任何类型的请求。
我已经在 Microsoft.AspNetCore.TestHost 中使用 IWebHostBuilder 和 TestServer 完成了这种事情。但是,不支持 IHostBuilder,只有 IWebHostBuilder。 https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.testhost.testserver.-ctor?view=aspnetcore-2.2#Microsoft_AspNetCore_TestHost_TestServer__ctor_Microsoft_AspNetCore_Hosting_IWebHostBuilder_
我知道 IHostBuilder 将替换 .NET Core 3.0 中的 IWebHostBuilder 并且那里的 TestServer 将支持这一点。试图在 .NET Core 2.2 中找到一种方法。