本文展示了如何在内存中托管整个web API堆栈,以便使用OWIN进行测试:
http://www.davidwhitney.co.uk/Blog/2015/01/07/testing-an-asp-net-webapi-app-in-memory/
本文展示了如何将OWIN TestServer用于单元测试控制器:
https://blog.jcorioland.io/archives/2014/04/01/using-owin-to-test-your-web-api-controllers.html
我看到的区别是TestServer.Create和WebApp.Start<Startup>的使用
关键的区别是什么,你为什么要选择一个而另一个?
这仅仅是web调用的单元测试控制器方法与内存中的端到端集成测试之间的区别吗?
发布于 2018-01-22 14:29:16
在执行TestServer.Create<Startup>()时,只需使用启动文件启动内存中的实例。HttpClient在TestServer中已经足够用于内存中的集成测试了.我们在一个进程中启动所有的测试服务器,所以这不是一个限制(目前有4个测试服务器一起运行)。
当你做WebApp.Start<Startup>(Settings.WebApiUrl)时--你在你提供的网址上启动一个网络应用程序。还有另一个过载,它接受选项: urls和设置。我们只在特定情况下使用这一选项。例如:
https://stackoverflow.com/questions/46088291
复制相似问题