2

我一直在研究对 ASP.Net WebAPI 项目进行单元测试。显然,我可以根据它返回的数据轻松测试控制器 Get 方法,但是我正在测试诸如标头之类的东西。

我以前使用过 NancyFX,它提供了一个很好的干净测试功能,即使没有设置客户端/服务器,也可以返回正确的 HTTP 响应。

我在 WebAPI 中看到的替代方法是使用 HttpServer 和 HttpConfiguration 在内存中运行服务器。

如果我这样做,我想知道是否有人知道它的性能。如果它不是那么好,那么不幸的是它变成了一个集成测试。

简单的场景,我想测试响应头内容类型。如果没有内存配置,我不确定您如何在 WebAPI 中进行测试

4

1 回答 1

1

我在 1 秒内运行了 80 个测试。我认为性能是足够的。

注意:如果您没有将 api 测试托管在与控制器本身相同的项目中,您将需要覆盖控制器的创建。我使用 StructureMap 依赖解析器来执行此操作,该解析器也实现了IHttpControllerActivator接口,因此控制器是从容器中解析出来的,而不是默认的激活器。

于 2012-11-26T14:51:42.753 回答