我开发了两个基于.NET Core2.1的项目。
WebAPI使用IIS作为宿主平台。xUnit使用WebAPI类连接到WebAPI以使用http。
我试图连接到w3wp服务以捕获控制器中的Get方法,但没有成功。此外,我启动了另一个环境并在WebAPI项目中运行Debug,但这并没有帮助。
谁知道问题在哪里,如何解决?
发布于 2018-10-03 09:18:44
关于learn.microsoft.com,有一个关于如何做到这一点的很好的指南:https://learn.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-2.1
基本上,您需要将Microsoft.AspNetCore.Mvc.Testing包安装到您的测试项目中,并从测试项目中的WebApplicationFactory派生出一个“测试应用工厂”类。然后,在每个测试类中,您将希望创建类的一个实例,然后使用WebApplicationFactory.CreateClient获取HttpClient的一个实例。然后,根据需要使用HttpClient实例调用API端点。
本质上,WebAPI应用程序将在与测试相同的过程中运行,这极大地简化了调试。
您还可能希望为被测试的应用程序(例如appsettings.Test.json)添加一个“测试”环境配置文件,并将WebApplicationFactory配置为使用相同的环境进行测试运行,这样测试运行就不会触及您的开发环境(包括数据库),并在“测试应用工厂”类中编写一些代码来重新创建/清理测试数据库或测试中使用的其他存储。
https://stackoverflow.com/questions/52623390
复制相似问题