【发布时间】:2019-03-19 16:23:05
【问题描述】:
我正在为 ASPNetCore Web API 项目编写集成测试。在阅读它时,我遇到了两个术语,第一个是
Microsoft.AspNetCore.Mvc.Testing.WebApplicationFactory
第二个是
Microsoft.AspNetCore.TestHost
参考资料:
https://docs.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-2.1
https://koukia.ca/integration-testing-in-asp-net-core-2-0-51d14ede3968
我有点困惑,为什么以及应该使用哪种设置来测试 Web API 控制器?
【问题讨论】:
-
我也有同样的问题,你解决了吗?
-
@kvuong 是的,我采用的是旧方法 (TestHost),因为我的启动类在另一个程序集(内部)中,并且我一直将 IWebHostBuilder 暴露给我的 API 项目.因此,在这种情况下,我无法使用采用 Startup.cs 类 的 WebApplicationFactory。由于我有 IWebHostBuilder 参考,我可以直接使用 TestServer(IWebHostBuilder) 来创建测试客户端。希望对您有所帮助。
-
我相信,前者是后者的替代方法。这是根据 MightySoft 的最新博客。
标签: c# asp.net-core integration-testing xunit.net