相关疑难解决方法(0)

模拟和HttpContextBase.get_User()

我想模拟HttpContext的User属性.我正在使用Scott Hanselmans MVCHelper类和RhinoMocks.

我有一个包含代码的单元测试,如下所示:

...

MockIdentity fakeId = new MockIdentity("TEST_USER", "Windows", true);
MockPrincipal fakeUser = new MockPrincipal(null, fakeId);

using (mocks.Record())
{
    Expect.Call(fakeHttpContext.User).Return(fakeUser);
}
Run Code Online (Sandbox Code Playgroud)

...

我的MockIdentity和MockPrincipal类分别是符合IIdentity和IPrincipal的模拟.

运行报告的单元测试时出错:

System.NotImplementedException:未实现方法或操作.在System.Web.HttpContextBase.get_User()

当我尝试设置User属性的期望时,就会发生这种情况.

我知道httpContextBase有一个没有实现的getter和setter,但我认为Rhino会在模拟时处理这个问题.

这是否意味着我必须从HttpContextbase派生并覆盖我的mock对象的属性.这看起来很奇怪.

其他用户遇到过此问题,请在此处报告:http: //www.mail-archive.com/rhinomocks@googlegroups.com/msg00546.html

c# asp.net-mvc rhino-mocks

4
推荐指数
2
解决办法
9918
查看次数

标签 统计

asp.net-mvc ×1

c# ×1

rhino-mocks ×1