목록WebMvcTest (2)
wgrgwg-dev
⚠️ 문제 상황소셜 로그인을 도입하고 난 후, 본래 정상 작동하던 `@WebMvcTest`를 사용하는 `AuthController` 테스트에서 다음과 같은 오류가 발생했다. Error creating bean with name 'SecurityConfig': Unsatisfied dependency expressed through constructor parameter 1: No qualifying bean of type 'CustomOAuth2UserService' available 🔍 원인 분석`@WebMvcTest`는 컨테이너 레이어에 필요한 빈들만 최소한으로 로딩하는 슬라이드 테스트이다. 따라서, `@Service`, `@Repository` 등은 기본적으로 테스트 컨텍스트에 포함되지 않으며, ..
@WebMvcTest`@WebMvcTest`란?`@WebMvcTest`는 Spring MVC 컨트롤러(`@Controller`, `@RestController`)를 테스트하기 위한 전용 *슬라이드 테스트 어노테이션 이다. 이 어노테이션으로 웹 계층만 빈으로 등록해서 보다 가볍게 테스트를 수행할 수 있다. *슬라이드 테스트 : 특정 영역의 레이어 테스트 왜 사용할까?컨트롤러 단위의 테스트에는 관련 컨텍스트만 로딩되면 되는데, 애플리케이션의 전체 컨텍스트를 로딩하는 `@SpringBootTest`는 테스트 시간이 오래 걸리고, 불필요한 컴포넌트까지 초기화하게 된다. 따라서, `@WebMvcTest`은 다음과 같을 때 사용할 수 있다.컨트롤러 로직에 집중한 테스트를 원할 때불필요한 서비스, 리포지토리, 설정 ..