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(“”);