如何使用 rhino 模拟存根 MVC RC1 中的 HttpSessionState?
我正在尝试利用 最近在 asp.net mvc rc1 中进行 ControllerContext 重构。 我应该能够相当简单地对会话进行存根,但在运行以下代码时,我在第 2 行不断收到 System.NullReferenceException:
var mockContext = MockRepository.GenerateStub<ControllerContext>();
mockContext.Stub(x => x.HttpContext.Session["MyKey"]).Return("MyValue");
我做错了什么?
编辑:我刚刚验证了截至本文为止我拥有最新版本的犀牛。
I'm trying to take advantage of the recent ControllerContext refactoring in asp.net mvc rc1. I should be able to stub the session rather simply but I keep getting a System.NullReferenceException on line 2 when running the following code:
var mockContext = MockRepository.GenerateStub<ControllerContext>();
mockContext.Stub(x => x.HttpContext.Session["MyKey"]).Return("MyValue");
What am I doing wrong?
Edit: I just verified I have the latest version of rhino as of this post.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您还需要模拟 HttpContext 才能使其正常工作。
我为此使用了 HttpContext 的模拟:
在测试的设置中,我创建了一个控制器的实例:
一切工作正常,我可以向会话和许多其他内容添加参数。
希望这可以帮助。
You need to mock HttpContext too to make this working.
I'm using a mock of HttpContext for this:
And in SetUp of test I create an instance of a controller:
And all is working fine, I can add parameters to session and many other things.
Hope this helps.