我一直在研究ASP.Net WebAPI项目的单元测试。我显然可以根据它返回的数据轻松测试控制器Get方法,但是我正在测试像header这样的东西。
之前我使用过NancyFX,这提供了一个很好的干净测试功能,即使没有设置客户端/服务器也会返回正确的HTTP响应。
我在WebAPI中可以看到的替代方法是使用HttpServer和HttpConfiguration在内存中运行服务器。
如果我这样做,我想知道是否有人知道它的表现是什么。如果不是那么好,那么不幸的是它会变成一个集成测试。
简单的场景,我想测试响应头内容类型。如果没有内存配置,我不确定你是如何在WebAPI中测试的那样
答案 0 :(得分:1)
我在1秒钟内运行了80次测试。我认为表现足够。
注意:如果您没有在与控制器本身相同的项目中托管api测试,则需要覆盖控制器创建。我使用StructureMap依赖项解析器执行此操作,该解析器还实现了IHttpControllerActivator
接口,因此控制器从容器而不是默认激活器中重新调用。