由于某种原因,当在单独的程序集中创建 ASP.NET Core 控制器时,当客户端发出请求时,TestServer 无法找到控制器操作。(导致 404 响应)这是为什么?我该如何解决这个问题?
以下是重现步骤。
- 使用 .NET core 创建新的 ASP.NET Core WebAPI
- 在单独的项目中创建集成测试并将测试配置为使用 TestServer() 客户端并使测试成功运行。
- 现在,将控制器分离到其自己的共享库中,并重构在步骤 1 中创建的项目以使用此共享库。
- 重新运行包含 TestServer() 类的测试。你现在会注意到它失败了。
请参阅以下链接以创建集成测试。使用 ASP.NET Core 进行集成测试 https://learn.microsoft.com/en-us/aspnet/core/testing/integration-testing
Actually I found a solution for now, see diff below:
![enter image description here](https://i.stack.imgur.com/muDfp.png)
听起来这可能是 TestServer() 类以及它在测试运行期间托管应用程序的方式的错误。
这是代码行,以防您无法阅读上面的图像
.AddApplicationPart(Assembly.Load(new AssemblyName("WebApiToReproduceBug.Controllers")));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)