2013-04-19 43 views
3

我使用MvcContrib.TestHelper,並初始化我的控制器是這樣的:使用/嘲諷Request.Url使用時MvcContrib TestHelper

var accountController = new AccountController(); 

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

我的問題是,我AccountController裏面我有:

Request.Url.GetLeftPart(UriPartial.Authority); 

但是,這返回爲空。請求是一個代理。

如何從我的單元測試中設置此值?

回答

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;