라이프 스타일이 "PerWebRequest"인 형식에 대한 종속성이있는 컨트롤러에 대한 단위 테스트를 작성하려고합니다.PerWebRequest LifeStyle 종속성이있는 단위 테스트 컨트롤러
성은 다음과 같은 예외가 발생 :
System.InvalidOperationException : HttpContext.Current가 null. PerWebRequestLifestyle은 ASP.Net에서만 사용할 수 있습니다.
어떻게하면 HttpContext.Current 속성을 모의 공격 할 수 있습니까?
MVCContrib의 TestControllerBuilder를 사용하여이 컨트롤러를 초기화하려고했지만 효과가 없습니다.
SymptomTopicController controller = new SymptomTopicController();
controller.WorkOrderFulfillment = workOrderFulfillment;
TestControllerBuilder controllerBuilder = new TestControllerBuilder();
controllerBuilder.InitializeController(controller);
종속성은 추상화됩니다. 컨트롤러 종속성은 주입으로 해결됩니다. 문제는 HTTPContext를 모의 해 단수 테스트를 작성하는 방법이 아니라는 것입니다. – Nick
종속성은 분명히 추상화되지 않았습니다 (충분 함). 컨트롤러에서 HTTPContext를 사용하지 않아도되고, 컨트롤러에 대한 의존성이 없기 때문에 HTTPContext를 설명 할 필요가 없다면, 여러분의 경우에는 추상화되지 않았다는 것을 의미합니다. –