MOQ를 사용하여 웹 API에서 HttpContext 모의

마헤 쉬 샤르마

나는 웹 API 컨트롤러에 대한 HttpContext를 모의하려고하고 moq를 사용하고 있으며 인터넷 검색 후 웹 API 컨트롤러에 관한 관련 게시물을 얻지 못 했으므로 저를 도와주세요.

var context = new Mock<HttpContextBase>();
            var request = new Mock<HttpRequestBase>();
            var response = new Mock<HttpResponseBase>();
            var session = new Mock<HttpSessionStateBase>();
            var server = new Mock<HttpServerUtilityBase>();

            context.Setup(c => c.Request).Returns(request.Object);
            context.Setup(c => c.Response).Returns(response.Object);
            context.Setup(c => c.Session).Returns(session.Object);
            context.Setup(c => c.Server).Returns(server.Object);


            return context.Object;

이 방식은 MVC에서는 작동하지만 웹 API에서는 작동하지 않습니다. HttpContextBase를 MVC의 ControllerContext에 전달할 수 있지만 Web API에서는 전달할 수 없기 때문입니다.

루크

이것에 대해 어떻게 생각합니까?

public interface IHttpContext
{
    string Url { get; }
}

public class HttpContextProvider : IHttpContext
{
    public string Url => HttpContext.Current.Request.Url.ToString();
}

public class MockedHttpContextProvider : IHttpContext
{
    public string Url => "https://google.com";
}

HttpContext를 애플리케이션 깊숙이 전달해서는 안된다는 데 동의하지만 이전 코드를 리팩토링하고 이미 트리 아래로 먼 길을 통과 한 경우 아래가 새 코드에 대한 단위 테스트를 작성하는 좋은 방법이 아니라 다른 사람들의 물건을 만져야합니다!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Moq를 사용하여 NUnit에서 HttpContext.GetGlobalResourceObject 모의

분류에서Dev

ASP.NET 5에서 웹 API 컨트롤러에 대한 HttpContext 모의

분류에서Dev

C # Core 2.1에서 this.HttpContext.WebSockets.AcceptWebSocketAsync ()를 모의하는 방법

분류에서Dev

Firefox의 모든 웹 사이트에서 Ctrl + T를 사용하여 새 탭 열기 허용

분류에서Dev

Angular를 사용하여 웹앱에서 요소를 숨기는 모범 사례

분류에서Dev

인증서와 사용자 / 패스를 모두 사용하여 .Net에서 Java 웹 서비스 사용

분류에서Dev

ajax를 사용하여 웹 API의 데이터를 테이블에 표시

분류에서Dev

.NET Framework 3.5를 사용하여 C #에서 웹 API 호출

분류에서Dev

.NET Core 3 Web API 및 Moq를 사용하여 테스트하기 위해 ExceptionContext를 모의하는 방법

분류에서Dev

Moq를 사용하여 Azure 함수에서 대리자를위한 모의 작성

분류에서Dev

moq를 사용하여 IConfiguration에서 GetConnectionString ()을 모의하는 방법은 무엇입니까?

분류에서Dev

sed를 사용하여 wget에서 웹 사이트의 바이트 수 읽기

분류에서Dev

Moq를 사용하여 Func <Task> 매개 변수를 실행하는 모의 클래스 메서드 설정

분류에서Dev

Moq를 사용하여 사용자 지정 컬렉션 모의

분류에서Dev

단추를 사용하여 다른 조각의 웹보기에서 웹 사이트 열기

분류에서Dev

Moq를 사용하여 구체적인 클래스 메서드의 반환 값 모의

분류에서Dev

웹 서비스를 사용하여 Moodle의 코스에 Scorm 파일 업로드

분류에서Dev

파일 로더를 사용하여 웹팩의 jQuery UI에서 자산로드

분류에서Dev

.htaccess를 사용하여 데스크톱 사용자를 모바일 웹앱에서 멀리 리디렉션

분류에서Dev

Azure AD를 사용하여 데몬에서 웹 사이트 API에 액세스

분류에서Dev

PHP를 사용하여 내 웹 사이트에 임의의 광고 표시

분류에서Dev

JavaScript를 사용하여 웹 페이지의 요소를 다른 웹 페이지에 복사하는 방법

분류에서Dev

Mockito를 사용하여 서버 모의

분류에서Dev

beatifulsoup을 사용하여 웹 사이트에서 모든 행 데이터를 다운로드하는 방법

분류에서Dev

우분투 12.04에서 html을 사용하여 모바일 웹 사이트를 구축하는 방법

분류에서Dev

Flask를 사용하여 웹 사이트 내의 다른 페이지에 연결

분류에서Dev

Glade를 사용하여 Gtk.MenuBar의 웹 사이트에 링크

분류에서Dev

웹 앱에서 웹 API를 사용하는 .Net Core

분류에서Dev

Moq를 사용하여 동일한 구성원 설정에서 When 및 Protected 방법 모두 사용

Related 관련 기사

  1. 1

    Moq를 사용하여 NUnit에서 HttpContext.GetGlobalResourceObject 모의

  2. 2

    ASP.NET 5에서 웹 API 컨트롤러에 대한 HttpContext 모의

  3. 3

    C # Core 2.1에서 this.HttpContext.WebSockets.AcceptWebSocketAsync ()를 모의하는 방법

  4. 4

    Firefox의 모든 웹 사이트에서 Ctrl + T를 사용하여 새 탭 열기 허용

  5. 5

    Angular를 사용하여 웹앱에서 요소를 숨기는 모범 사례

  6. 6

    인증서와 사용자 / 패스를 모두 사용하여 .Net에서 Java 웹 서비스 사용

  7. 7

    ajax를 사용하여 웹 API의 데이터를 테이블에 표시

  8. 8

    .NET Framework 3.5를 사용하여 C #에서 웹 API 호출

  9. 9

    .NET Core 3 Web API 및 Moq를 사용하여 테스트하기 위해 ExceptionContext를 모의하는 방법

  10. 10

    Moq를 사용하여 Azure 함수에서 대리자를위한 모의 작성

  11. 11

    moq를 사용하여 IConfiguration에서 GetConnectionString ()을 모의하는 방법은 무엇입니까?

  12. 12

    sed를 사용하여 wget에서 웹 사이트의 바이트 수 읽기

  13. 13

    Moq를 사용하여 Func <Task> 매개 변수를 실행하는 모의 클래스 메서드 설정

  14. 14

    Moq를 사용하여 사용자 지정 컬렉션 모의

  15. 15

    단추를 사용하여 다른 조각의 웹보기에서 웹 사이트 열기

  16. 16

    Moq를 사용하여 구체적인 클래스 메서드의 반환 값 모의

  17. 17

    웹 서비스를 사용하여 Moodle의 코스에 Scorm 파일 업로드

  18. 18

    파일 로더를 사용하여 웹팩의 jQuery UI에서 자산로드

  19. 19

    .htaccess를 사용하여 데스크톱 사용자를 모바일 웹앱에서 멀리 리디렉션

  20. 20

    Azure AD를 사용하여 데몬에서 웹 사이트 API에 액세스

  21. 21

    PHP를 사용하여 내 웹 사이트에 임의의 광고 표시

  22. 22

    JavaScript를 사용하여 웹 페이지의 요소를 다른 웹 페이지에 복사하는 방법

  23. 23

    Mockito를 사용하여 서버 모의

  24. 24

    beatifulsoup을 사용하여 웹 사이트에서 모든 행 데이터를 다운로드하는 방법

  25. 25

    우분투 12.04에서 html을 사용하여 모바일 웹 사이트를 구축하는 방법

  26. 26

    Flask를 사용하여 웹 사이트 내의 다른 페이지에 연결

  27. 27

    Glade를 사용하여 Gtk.MenuBar의 웹 사이트에 링크

  28. 28

    웹 앱에서 웹 API를 사용하는 .Net Core

  29. 29

    Moq를 사용하여 동일한 구성원 설정에서 When 및 Protected 방법 모두 사용

뜨겁다태그

보관