2

我在 NUnit 测试中的一种方法检查 Session-State 变量:

如果(会话[变量名称] == null)...

并且 NUnit 测试因错误而失败:

System.Web.HttpException:会话状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在 Page 指令中。还请确保 System.Web.SessionStateModule 或自定义会话状态模块包含在应用程序配置的 \\ 部分中。

我尝试将测试方法从类库中取出,并将其放入在 aspx 页面指令中设置 EnableSessionState="True" 的 aspx 页面的代码隐藏 cs 中。在 web 配置中添加了一个带有 sessionState mode = "InProc" 的 web 配置,然后在 web.config 中尝试了 < pages enableSessionState ="true"/>。

Nunit 测试在会话状态操作上仍然失败。

我必须嘲笑这些吗?

4

1 回答 1

2

我不相信您可以在不模拟的情况下从单元测试中访问 Session 。

看看 Phil Haack 的 HttpSimulator http://haacked.com/archive/2007/06/19/unit-tests-web-code-without-a-web-server-using-httpsimulator.aspx

于 2009-06-02T22:26:37.247 回答