3

我正在使用 MvcContrib.TestHelper,并像这样初始化我的控制器:

var accountController = new AccountController();

var builder = new TestControllerBuilder();
builder.InitializeController(accountController);

我的问题是,我的内心AccountController有:

Request.Url.GetLeftPart(UriPartial.Authority);

但是,这返回为空。请求是一个代理。

如何从我的单元测试中进行设置?

4

1 回答 1

1

这可能已经解决了,但对我有用的是使用模拟框架(如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;
于 2015-10-23T19:41:38.833 回答