복붙노트

[SPRING] 단위 테스트 또는 통합 테스트에 Spring의 MockMvc가 사용됩니까?

SPRING

단위 테스트 또는 통합 테스트에 Spring의 MockMvc가 사용됩니까?

Spring에는 MockMvc를위한 2 개의 설정이있다.

일반적으로 MockMvc는 어떤 종류의 테스트를 사용합니까? 단위 또는 통합? 아니면 둘다?

독립형 설정 (Spring의 응용 프로그램 컨텍스트 외부에서 실행)을 사용하면 단위 테스트를 작성할 수 있고 WebApplicationContext 설정을 사용하여 통합 테스트를 작성할 수 있다고 말하는 것이 맞습니까?

해결법

  1. ==============================

    1.Spring DispatcherServlet과 지원 인프라 스트럭처와의 코드 통합을 테스트하기 때문에 두 폼 모두 실제로 통합 테스트입니다. 차이점은 뒤에서 사용되는 지원 인프라의 양에 있습니다.

    Spring DispatcherServlet과 지원 인프라 스트럭처와의 코드 통합을 테스트하기 때문에 두 폼 모두 실제로 통합 테스트입니다. 차이점은 뒤에서 사용되는 지원 인프라의 양에 있습니다.

    자세한 것은 Spring 레퍼런스 매뉴얼에 설명되어있다.

    주목할만한 발췌문 :

    ...

    ...

    ...

    의심 스러울 때 여기에 질문을 올리기 전에 참조 설명서를 먼저 읽으십시오. ;)

    문안 인사,

    Sam (Spring TestContext Framework 작성자)

  2. ==============================

    2.두 가지 방법 모두 통합 테스트를위한 것이지만 독립형은 테스트 할 컨트롤러를 지정하도록 강요합니다.

    두 가지 방법 모두 통합 테스트를위한 것이지만 독립형은 테스트 할 컨트롤러를 지정하도록 강요합니다.

    WebApplicationContext 설정은 전체 컨텍스트를로드하므로 예를 들어 / people POST 요청을 처리하는 특정 컨트롤러가 어디에 상관하지 않습니다.

    따라서 WebApplicationContext 설정을 사용하여 응용 프로그램과 작업해야하는 인터페이스 측면에서 REST API를 테스트하는 것이 좋습니다. 당신은 실제 코드로 테스트를하지 말고 앱이 어떻게 동작해야 하는지를 문서화하고있다.

  3. from https://stackoverflow.com/questions/32223490/are-springs-mockmvc-used-for-unit-testing-or-integration-testing by cc-by-sa and MIT license