该问题通常是由于WebApplicationFactory试图使用错误的主机生成测试时导致的。具体而言,当启用https时,WebApplicationFactory必须使用Microsoft.AspNetCore.Mvc.Testing。WebHostBuilder尝试使用不包括证书的http连接时会导致此问题。
要解决此问题,请确保WebApplicationFactory正确定义了CreateHostBuilder方法,并正确创建主机。在CreateHostBuilder方法中使用UseEnvironment方法设置正确的环境和使用ConfigureWebHost方法启用https。
以下是示例代码:
public class CustomWebApplicationFactory
使用CustomWebApplicationFactory
public class TestController: IClassFixture
public TestController(CustomWebApplicationFactory factory)
{
_client = factory.CreateClient();
}
//test methods }
这样,您就可以使用正确的主机生成您的测试,并且不会出现“入口点退出时从未构建IHost”的问题。