来自xUnit的Debug.NetCore API

来自xUnit的Debug.NetCore API,.net,iis,asp.net-core-webapi,xunit.net,asp.net-core-webapi-2.1,.net,Iis,Asp.net Core Webapi,Xunit.net,Asp.net Core Webapi 2.1,我基于.NETCore2.1开发了两个项目 WebAPI 许尼特 WebAPI使用IIS作为托管平台。 xUnit使用HttpClient类连接到WebAPi以使用http 我试图连接到w3wp服务以捕获控制器中的Get方法,但没有成功。此外,我启动了另一个one环境并在WebAPI项目中运行调试,但这没有帮助 谁知道问题在哪里以及如何解决呢。在docs.microsoft.com上有一个关于如何解决问题的很好的指南: 基本上,您需要将Microsoft.AspNetCore.Mvc.Testi

我基于.NETCore2.1开发了两个项目

  • WebAPI
  • 许尼特
  • WebAPI使用IIS作为托管平台。 xUnit使用HttpClient类连接到WebAPi以使用http

    我试图连接到w3wp服务以捕获控制器中的Get方法,但没有成功。此外,我启动了另一个one环境并在WebAPI项目中运行调试,但这没有帮助


    谁知道问题在哪里以及如何解决呢。

    在docs.microsoft.com上有一个关于如何解决问题的很好的指南:

    基本上,您需要将Microsoft.AspNetCore.Mvc.Testing包安装到测试项目中,并从测试项目中的WebApplicationFactory派生一个“测试应用程序工厂”类。然后,在每个测试类中,您都希望创建该类的实例,然后使用WebApplicationFactory.CreateClient获取HttpClient的实例。然后根据需要使用HttpClient实例调用API端点

    基本上,WebAPI应用程序将在与测试相同的过程中运行,这大大简化了调试

    您可能还希望为被测应用程序(例如appsettings.test.json)添加一个“测试”环境配置文件,并将WebApplicationFactory配置为使用相同的环境进行测试运行,以便测试运行不会影响您的开发环境(包括数据库),并在“test app factory”类中编写一些代码,以重新创建/清理测试中使用的测试数据库或其他存储。

    您连接到了错误的进程,因为
    w3wp.exe
    没有运行您的Web API组件。