@SpringBootTest는 스프링 부트 애플리케이션의 통합 테스트를 위해 사용된다.
이 어노테이션을 사용하면 스프링 부트 애플리케이션 컨텍스트를 전체적으로 로드하여 테스트할 수 있다.
@WebMvcTest는 스프링 MVC 컨트롤러 계층의 테스트에 특화된 어노테이션이다.
이 어노테이션을 사용하면 웹 계층의 컴포넌트만 로드하여 빠르게 테스트할 수 있다.
웹 계층의 컴포넌트(컨트롤러, 필터, 컨트롤러 어드바이스 등)만 로드한다.
@MockBean을 사용하여 서비스나 리포지토리 계층을 모의 객체로 대체해야 합니다.
실제 HTTP 요청을 모의(MockMvc)하여 테스트할 수 있다.
실제 데이터베이스와의 연동은 테스트하지 않습니다.
@SpringBootTtest와 @WebMvcTest는 스프링 부트 애플리케이션을 테스트할 때 사용되는 두 가지 주요 어노테이션이다.
@SpringBootTest는 전체 애플리케이션 컨텍스트를 로드하여 통합 테스트를 수행하는 반면 @WebMvcTest는 웹 계층만을 로드하여 컨트롤러 테스트에 특화되어 있다.
각각의 테스트 상황과 요구 사항에 따라 적절한 어노테이션을 선택하여 효율적이고 신속하게 테스트를 수행할 수 있다.