2013-03-14 7 views
1

일부 단위 테스트를 작성하고 mvc3, moq 및 mvccontrib를 사용하여 사용자 에이전트 문자열을 moq 아웃하는 방법을 찾지 못했습니다. 어떤 아이디어가 moq와 mvccontrib로 useragent 문자열을 조롱하는 법?mvc3 moq mvccontrib moq 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; 
    } 

답변

1

확인 방법. 그냥 요청에 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; 
     } 

희망이 있으면 다른 사람에게 도움이됩니다.