【问题标题】:Using / Mocking Request.Url when using MvcContrib TestHelper使用 MvcContrib TestHelper 时使用 / 模拟 Request.Url
【发布时间】:2013-04-19 00:18:14
【问题描述】:

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

var accountController = new AccountController();

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

我的问题是,在我的AccountController 里面我有:

Request.Url.GetLeftPart(UriPartial.Authority);

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

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

【问题讨论】:

    标签: asp.net-mvc unit-testing tdd mvccontrib


    【解决方案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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-27
      • 1970-01-01
      相关资源
      最近更新 更多