>백엔드 개발 >C++ >Moq를 사용하여 ASP.NET MVC에서 HttpContext를 모의하는 방법은 무엇입니까?

Moq를 사용하여 ASP.NET MVC에서 HttpContext를 모의하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-11 20:37:42252검색

How to Mock HttpContext in ASP.NET MVC with Moq?

Moq를 사용하여 ASP.NET MVC 애플리케이션에서 HttpContext 모의

Moq를 사용하여 ASP.NET MVC 테스트 내에서

모의 HttpContext하려면 약간 다른 접근 방식이 필요합니다. 컨트롤러의 HttpContext 속성은 읽기 전용이므로 상위 속성인 ControllerContext을 사용하여 작업해야 합니다. ControllerContext을 설정하면 모의 컨텍스트가 Initialize 메서드

에 올바르게 전달되도록 할 수 있습니다.

테스트 방법을 수정하는 방법은 다음과 같습니다.

<code class="language-csharp">[TestMethod]
public void Home_Message_Display_Unknown_User_when_cookie_does_not_exist()
{
    var mockHttpContext = new Mock<HttpContextBase>();
    var mockHttpRequest = new Mock<HttpRequestBase>();
    mockHttpContext
        .Setup(c => c.Request)
        .Returns(mockHttpRequest.Object);

    var controller = new HomeController();
    // Set the ControllerContext, not the HttpContext directly
    controller.ControllerContext = new ControllerContext(mockHttpContext.Object, new RouteData(), controller);
    // ... rest of your test code
}</code>

이 방법은 HttpContext의 읽기 전용 제한을 우회하고 효과적인 조롱을 허용합니다. Moq를 사용하여 HttpContextRequestContext을 조롱하는 방법에 대한 자세한 지침은 다음 리소스를 참조하세요.

위 내용은 Moq를 사용하여 ASP.NET MVC에서 HttpContext를 모의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.