首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用rhino mocks在MVC RC1中存根HttpSessionState?

在MVC RC1中使用Rhino Mocks存根HttpSessionState,可以通过以下步骤实现:

  1. 首先,确保已经安装了Rhino Mocks库。可以通过NuGet包管理器进行安装:
代码语言:txt
复制
Install-Package Rhino.Mocks
  1. 在测试方法中,创建一个HttpSessionStateBase的模拟对象:
代码语言:csharp
复制
var httpSessionState = MockRepository.GenerateStub<HttpSessionStateBase>();
  1. 使用模拟对象存根HttpSessionState中的方法。例如,存根Session["key"]的get和set方法:
代码语言:csharp
复制
httpSessionState.Stub(x => x["key"]).Return("value");
httpSessionState.Stub(x => x["key"] = "new value");
  1. 在控制器中注入模拟的HttpSessionState对象:
代码语言:csharp
复制
var controller = new MyController();
controller.ControllerContext = new ControllerContext(
    new RequestContext(new HttpContextWrapper(HttpContext.Current), new RouteData()),
    controller);
controller.ControllerContext.HttpContext.Stub(x => x.Session).Return(httpSessionState);
  1. 现在,在测试中调用控制器方法,并验证是否使用了存根的HttpSessionState:
代码语言:csharp
复制
var result = controller.MyAction();
Assert.AreEqual("value", controller.ControllerContext.HttpContext.Session["key"]);

这样,就可以在MVC RC1中使用Rhino Mocks存根HttpSessionState了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券