본문 바로가기

TIL

면접 준비 6 - @SpringBootTest와 @WebMvcTest의 차이점?

반응형

 

 

#7월 25일

 

 

@SpringBootTest와 @WebMvcTest의 차이점은?

  • @SpringBootTest
    전체 Spring Boot 애플리케이션 컨텍스트를 로드하여 테스트를 하는 어노테이션
    애플리케이션의 모든 구성 요소, 컨트롤러, 서비스, 레포지토리등 모든 빈을 로드한다.
    테스트 시간이 오래걸릴 수 있으며, 실제 애플리케이션과 더 가까운 환경에서 테스트 할 수 있다.
    대규모 통합테스트나 애플리케이션의 전반적인 동작을 확인하고 싶을 때 사용된다.

 

  • @WebMvcTest
    웹계층에 집중하여 테스트하는 경량화된 어노테이션이다.
    컨트롤러와 관련된 빈들만 로드하며, 다른 빈(서비스나 레포지토리와 같은 비웹계층)들은 로드하지 않는다.
    애플리케이션 전체를 로드하는 것 보다 테스트가 빠르고 간결해진다.
    주로 컨트롤러의 동작을 테스트하거나, 웹계층의 요청과 응답처리를 확인하는데 사용된다.
반응형