Aspnetcorewebapi集成测试-WebApplicationFactory-入口点退出时从未构建IHost
创始人
2024-09-20 09:00:59
0

该问题通常是由于WebApplicationFactory试图使用错误的主机生成测试时导致的。具体而言,当启用https时,WebApplicationFactory必须使用Microsoft.AspNetCore.Mvc.Testing。WebHostBuilder尝试使用不包括证书的http连接时会导致此问题。

要解决此问题,请确保WebApplicationFactory正确定义了CreateHostBuilder方法,并正确创建主机。在CreateHostBuilder方法中使用UseEnvironment方法设置正确的环境和使用ConfigureWebHost方法启用https。

以下是示例代码:

public class CustomWebApplicationFactory: WebApplicationFactory { protected override IHostBuilder CreateHostBuilder() { return Host.CreateDefaultBuilder() .ConfigureWebHostDefaults(builder => { builder.UseEnvironment("Testing"); builder.UseStartup(); builder.UseUrls("https://localhost:5001"); }); } }

使用CustomWebApplicationFactory创建WebApplicationFactory实例,以便在测试开始之前创建正确的主机:

public class TestController: IClassFixture> { private readonly HttpClient _client;

public TestController(CustomWebApplicationFactory factory)
{
    _client = factory.CreateClient();
}

//test methods }

这样,您就可以使用正确的主机生成您的测试,并且不会出现“入口点退出时从未构建IHost”的问题。

相关内容

热门资讯

8分钟了解!情怀麻将挂真的,哈... 8分钟了解!情怀麻将挂真的,哈局十三张,攻略教程(有挂解说)1、下载好情怀麻将挂真的辅助软件之后点击...
五分钟了解!广西八一字牌外 挂... 五分钟了解!广西八一字牌外 挂,旋娱有挂吗,专业教程(有挂解说);1、广西八一字牌外 挂ai辅助优化...
一分钟了解!聚乐九州麻将有挂吗... 一分钟了解!聚乐九州麻将有挂吗,海南手机麻将有挂的么,2025新版技巧(有挂黑科技)1、海南手机麻将...
五分钟了解!天天福建十三张辅助... 五分钟了解!天天福建十三张辅助器,369山东麻将app有挂吗,存在挂教程(有挂脚本);天天福建十三张...
八分钟了解!微信边锋斗地主发牌... 八分钟了解!微信边锋斗地主发牌规律,牌乐门手机麻将助赢神器购买,必赢教程(有挂黑科技);1、在牌乐门...
一分钟了解!潮汕馆辅助器,湖北... 一分钟了解!潮汕馆辅助器,湖北休闲有辅助吗,必备教程(有挂教程)1、玩家可以在湖北休闲有辅助吗软件透...
二分钟了解!星悦麻将的规律,新... 二分钟了解!星悦麻将的规律,新牛魔王有挂吗,揭秘攻略(有挂规律)亲,关键说明,新牛魔王有挂吗赛季回归...
五分钟了解!天天福建十三张后台... 五分钟了解!天天福建十三张后台操作,新皇豪有挂吗,教你教程(有挂详情)1、天天福建十三张后台操作系统...
一分钟了解!江西中至棋牌有挂吗... 一分钟了解!江西中至棋牌有挂吗,青龙大厅辅助软件免费,详细教程(有挂普及)1、全新机制【青龙大厅辅助...
三分钟了解!钱塘13水有挂么,... 三分钟了解!钱塘13水有挂么,兴动茶苑有挂吗,存在挂教程(有挂辅助挂)运兴动茶苑有挂吗辅助工具,进入...