我正在写一些单元测试,但是我找不到使用mvc3、moq和mvccontrib来修改用户代理字符串的方法。你知道如何用moq和mvccontrib模拟useragent字符串吗?
我一直在尝试这样做,但是useragent属性是只读的。
public static RouteController GetRouteController()
{
var controller = new RouteController();
var builder = new TestControllerBuilder();
builder.HttpContext.Request.UserAgent = "foo-agent";
//mocks up the asp pipeline (http context, asp session, etc)
builder.InitializeController(controller);
return controller;
}发布于 2013-03-15 08:21:26
好了,我知道怎么做了。只需要在请求上使用rhinomocks存根。这对我很有效。
public static RouteController GetRouteController(string useragent)
{
var controller = new RouteController();
var builder = new TestControllerBuilder();
builder.InitializeController(controller);
//mock out the useragent string
controller.HttpContext.Request.Stub(r => r.UserAgent).Return(useragent);
return controller;
}希望这对其他人有帮助。
https://stackoverflow.com/questions/15418416
复制相似问题