Moq를 사용하여 ASP.NET MVC에서 HttpContext 시뮬레이션
ASP.NET MVC 컨트롤러를 테스트할 때 HttpContext를 모의하는 것은 코드 동작을 격리하는 데 중요합니다. 이 기사에서는 널리 사용되는 모의 프레임워크인 Moq를 사용하여 이를 달성하는 방법을 보여줍니다.
테스트 메서드에서 HttpContext를 모의해야 한다고 가정해 보겠습니다.
<code>[TestMethod] public void Home_Message_Display_Unknown_User_when_coockie_does_not_exist() { var context = new Mock<HttpContextBase>(); var request = new Mock<HttpRequestBase>(); context .Setup(c => c.Request) .Returns(request.Object); HomeController controller = new HomeController(); controller.HttpContext = context.Object; // 此处出错 }</code>
위 코드에서 controller.HttpContext
은 읽기 전용 속성이므로 설정하려고 하면 오류가 발생합니다. 그러나 이 문제는 변경 가능한 ControllerContext
속성을 사용하여 해결할 수 있습니다:
<code>controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller);</code>
HttpContext는 ControllerContext
속성을 설정하여 효과적으로 시뮬레이션할 수 있습니다. RequestContext 및 HttpContext 모의에 대한 자세한 내용과 예시는 다음 리소스를 참조하세요.
위 내용은 Moq를 사용하여 ASP.NET MVC 단위 테스트에서 HttpContext를 효과적으로 모의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!