public class TestF-6ren">
gpt4 book ai didi

c# - 使用 WebApplicationFactory 运行集成测试时出现 "No app configured"错误

转载 作者:行者123 更新时间:2023-12-05 01:26:57 25 4
gpt4 key购买 nike

我正在为我的应用编写集成测试,它使用 .net5 我使用 WebApplicationFactory 和 IHostBuilder 来设置环境。

自定义夹具 ->

public class TestFixture<T> : WebApplicationFactory<Program>
{
protected override IHostBuilder CreateHostBuilder()
{
var builder = Host.CreateDefaultBuilder();
builder.ConfigureAppConfiguration((hostingContext, config) =>
{
var env = hostingContext.HostingEnvironment;
config.SetBasePath(env.ContentRootPath);
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
config.AddEnvironmentVariables();
})
.ConfigureServices((hostContext, services) => { services.Configure(hostContext); });
return builder;
}
protected override void ConfigureWebHost(IWebHostBuilder builder)
{
builder.ConfigureTestServices((services) =>
{
services.RemoveAll(typeof(IHostedService));
});
}

services.Configure(hostContext) 调用注册工作流的 UnityContainer ( https://github.com/danielgerlag/workflow-core )。

测试类(运行时报错)-> Error

错误描述 -> 未配置应用程序。请通过IWebHostBuilder.UseStartup、IWebHostBuilder.Configure指定一个应用程序,或者通过Web主机配置中的StartupAssemblyKey指定启动程序集

最佳答案

添加此代码:.ConfigureWebHostDefaults(b => b.Configure(app => {}));.ConfigureServices 调用之后

您正在使用不运行网络主机的辅助服务。但是,WebApplicationFactory 仍然需要一个,因此创建一个空的 Web 应用程序。

关于c# - 使用 WebApplicationFactory 运行集成测试时出现 "No app configured"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69974249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com