我有一个Http处理程序的单元测试。在它中,我创建了一个HttpResponse
对象并将其传递给我的一个Http处理程序的方法。无法检查单元测试中的响应标头
我的一个测试,试图验证响应头已正确设置:
Assert.AreEqual("gzip", response.Headers["Content-Encoding"]);
然而,Headers
物业抛出一个PlatformNotSupportedException
与消息“此操作需要IIS综合管道模式”。
奇怪的是,据我了解,该例外与设置响应头 - 不读它们。我正在使用TDD,因此我不会在任何地方设置标头(但),但我仍然得到例外。
为什么我得到这个异常,是否有单元测试响应头的好或更好的方法?
在我阅读你的答案之前,我已经提取了一个IHttpContext接口。 +1在我头上:) – ctford 2009-12-23 20:20:27
对于任何人遇到这个问题。现在有许多有用的抽象项目可以用来促进@ryber的建议;包括来自微软的一个。这使得单元测试HttpContext变得更容易。还可以使用自托管服务器在组件级别进行测试并推荐:搜索(自主主机ASP.NET或OWIN自主主机) – Ray 2016-12-15 16:36:12