我正在为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控制器?
答案 0 :(得分:0)
我正在使用一种较旧的方法(TestHost)
因为我的启动类位于另一个程序集(内部)中,并且已将IWebHostBuilder
暴露给我的API项目。
因此,在那种情况下,我无法使用带有WebApplicationFactory
类的Startup.cs
。并且由于有了IWebHostBuilder
引用,我可以直接使用TestServer(IWebHostBuilder)
创建测试客户端。