我正在使用 MvcContrib.TestHelper,并像这样初始化我的 Controller :
var accountController = new AccountController();
var builder = new TestControllerBuilder();
builder.InitializeController(accountController);
我的问题是,在我的 AccountController
中我有:
Request.Url.GetLeftPart(UriPartial.Authority);
但是,这返回为空。请求是一个代理。
如何通过单元测试进行设置?
最佳答案
这可能已经解决了,但对我有用的是使用模拟框架(如 RhinoMocks ):
var contextMock = MockRepository.GenerateMock<HttpContextBase>();
contextMock.Expect(x => x.Request).Return(new FakeHttpRequest("SOME_RELATIVE_URL", new Uri("http://to.somewhere.com"), new Uri("http://from.somewhere.com")));
controller.ControllerContext.HttpContext = contextMock;
关于asp.net-mvc - 使用 MvcContrib TestHelper 时使用/模拟 Request.Url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16095209/