Asp.net mvc 如何模拟Server.HtmlEncode

Asp.net mvc 如何模拟Server.HtmlEncode,asp.net-mvc,tdd,mocking,rhino-mocks,Asp.net Mvc,Tdd,Mocking,Rhino Mocks,我正在尝试以下操作,但得到的结果是:对象引用未设置为对象的实例 HttpContextBase mockContext = MockRepository.GenerateMock<HttpContextBase>(); mockContext.Expect(c => c.Server.HtmlEncode("")).IgnoreArguments().Return(""); mockContext.Expect(c => c.Server.HtmlDecode("

我正在尝试以下操作,但得到的结果是:对象引用未设置为对象的实例

 HttpContextBase mockContext = MockRepository.GenerateMock<HttpContextBase>();

 mockContext.Expect(c => c.Server.HtmlEncode("")).IgnoreArguments().Return("");
 mockContext.Expect(c => c.Server.HtmlDecode("")).Return("");

 controller.ControllerContext = 
    new ControllerContext(mockContext, new RouteData(), controller);
HttpContextBase mockContext=MockRepository.GenerateMock();
Expect(c=>c.Server.HtmlEncode(“”).IgnoreArguments().Return(“”);
Expect(c=>c.Server.HtmlDecode(“”);
controller.ControllerContext=
新的ControllerContext(mockContext,newRoutedData(),controller);
马汀

谢谢。这足以为我指明正确的方向:

var mockContext = MockRepository.GenerateMock<HttpContextBase>();       
var mockServer = MockRepository.GenerateMock<HttpServerUtilityBase>();

mockServer.Expect(s => s.HtmlEncode(""))
    .IgnoreArguments()
    .Repeat.AtLeastOnce()
    .Return("");

mockContext.Expect(c => c.Server)
    .IgnoreArguments()
    .Repeat.AtLeastOnce()
    .Return(mockServer);

controller.ControllerContext = 
    new ControllerContext(mockContext, new RouteData(), controller);
var mockContext=MockRepository.GenerateMock();
var mockServer=MockRepository.GenerateMock();
mockServer.Expect(s=>s.HtmlEncode(“”)
.IgnoreArguments()
。重复。至少重复一次()
.返回(“”);
Expect(c=>c.Server)
.IgnoreArguments()
。重复。至少重复一次()
.Return(mockServer);
controller.ControllerContext=
新的ControllerContext(mockContext,newRoutedData(),controller);
这里是纯猜测:

var mockServer = MockRepository.GenerateMock<HttpServerUtilityBase>();
mockServer.Expect(x => x.HtmlEncode("")).IgnoreArguments().Return("");
var mockServer=MockRepository.GenerateMock();
Expect(x=>x.HtmlEncode(“”).IgnoreArguments().Return(“”);