我可以从 NUnit 测试中访问 SessionState 吗?

发布于 2024-07-22 03:32:10 字数 616 浏览 3 评论 0原文

我在 NUnit 测试中的方法之一检查会话状态变量:

if (Session[variableName] == null) ...

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

System.Web.HttpException:会话 状态只能在以下情况下使用 enableSessionState 设置为 true, 在配置文件中或在 页面指​​令。 还请使 确定 System.Web.SessionStateModule 或 自定义会话状态模块是 包含在 \\ 应用程序中的部分 配置。

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

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

我必须嘲笑这些吗?

One of my methods in an NUnit test checks a Session-State variable :

if (Sesssion[variableName] == null) ...

and the NUnit test is failing with err:

System.Web.HttpException: Session
state can only be used when
enableSessionState is set to true,
either in a configuration file or in
the Page directive. Please also make
sure that
System.Web.SessionStateModule or a
custom session state module is
included in the
\\
section in the application
configuration.

I tried taking the test method out of a class library and putting it into the codebehind cs of an aspx page that set EnableSessionState="True" in the aspx page directive. Added a web config with sessionState mode = "InProc" in the web config, then tried < pages enableSessionState ="true"/> in the web.config.

Nunit tests still failed on the session state action.

Do I have to mock these out?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

因为看清所以看轻 2024-07-29 03:32:10

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

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

I don't believe you can access Session from your unit tests without mocking it.

Have a look at Phil Haack's HttpSimulator
http://haacked.com/archive/2007/06/19/unit-tests-web-code-without-a-web-server-using-httpsimulator.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文