asp.net – 无法在单元测试中检查响应标头
我有一个Http处理程序的单元测试.在其中我创建了一个HttpResponse对象并将其传递给我的一个Http处理程序的方法.
我的一个测试尝试验证响应标头是否已正确设置: Assert.AreEqual( "gzip",response.Headers["Content-Encoding"]); 但是,Headers属性会抛出PlatformNotSupportedException,并显示消息“此操作需要IIS集成管道模式”. 奇怪的是,据我了解,该异常与设置响应标题有关 – 而不是阅读它们.我正在使用TDD,所以我没有在任何地方设置标题(但是),但我仍然得到例外. 为什么我会收到此异常,是否有一个好的或更好的单元测试响应标头的方法? 解决方法
从
Response.Headers documentation:
除非你在这些条件下运行,否则基本上你甚至无法尝试访问它. 如果我是你,我会为你的Handler创建一个接受HttpContextBase对象和use a mock的构造函数,以便正确测试你的头文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 从视图重定向到另一个视图
- asp.net-mvc – MVC 3布局页面,Razor模板和下拉列表
- asp.net-mvc – 此模板试图加载组件程序集Microsoft.Visual
- asp.net-mvc – 为什么ASP.Net MVC(或CodeIgniter)中没有内
- asp.net-mvc – 如何在ASP.NET Razor MVC4视图中使用LINQ?
- asp.net – 限制可以输入’textarea’的文本数量的最佳方法
- ASP.net Ajax和JQuery – 部分回发
- asp.net-mvc – 在Umbraco 6.1.1 MVC 4中,如何使用继承自Um
- asp.net-mvc – 应用程序每15分钟编译一次
- ASP.NET:获取页面的文件名