gpt4 book ai didi

asp.net - 无法在单元测试中检查响应 header

转载 作者:行者123 更新时间:2023-12-03 03:36:57 25 4
gpt4 key购买 nike

我有一个 Http 处理程序的单元测试。在其中,我创建了一个 HttpResponse 对象并将其传递给我的 Http 处理程序的方法之一。

我的一项测试尝试验证响应 header 是否已正确设置:

Assert.AreEqual( "gzip", response.Headers["Content-Encoding"]);

但是,Headers 属性会引发 PlatformNotSupportedException 并显示消息“此操作需要 IIS 集成管道模式”

奇怪的是,据我了解,该异常与设置响应 header 有关 - 不读取它们。我正在使用 TDD,所以我还没有在任何地方设置 header ,但我仍然遇到了异常。

为什么我会收到此异常?是否有好的或更好的方法来对响应 header 进行单元测试?

最佳答案

来自Response.Headers documentation :

Remarks

The Headers property is only supported with the IIS 7.0 integrated pipeline mode and at least the .NET Framework 3.0. When you try to access the Headers property and either of these two conditions is not met, a PlatformNotSupportedException is thrown.

基本上,除非您在这些条件下运行,否则您甚至无法尝试访问它。

如果我是你,我会为你的处理程序创建一个构造函数,它接受 HttpContextBase对象和use a mock为了正确测试您的 header 。

关于asp.net - 无法在单元测试中检查响应 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1947471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com