스프링 컨트롤러 테스트

HUSII·2023년 7월 9일
0

스프링 공부

목록 보기
1/1

스프링 컨틀롤러를 테스트하기 위해서 사용하는 어노테이션들이 있다.
1. @AutoConfigureMockMvc
2. @WebMvcTest

@AutoConfigureMockMvc

웹 애플리케이션에서 컨트롤러를 테스트 할 때, 서블릿 컨테이너를 모킹하기 위해서 사용하는 어노테이션

@SpringBootTest와 같이 사용하여, 컨트롤러뿐만 아니라 @Service나 @Repository 객체들도 모두 메모리에 올린다.

모든 데이터를 검증할 수 있다는 장점이 있지만, 전체 애플리케이션 구성을 로드하여 스프링이 관리하는 모든 빈을 등록시키기 때문에 무겁다. 따라서 디버깅하기 힘들고, 시간이 오래걸린다는 단점이 있다.

@WebMvcTest

위와 같이 웹 애플리케이션에서 컨트롤러를 테스트 할 때, 서블릿 컨테이너를 모킹하기 위해서 사용하는 어노테이션
@AutoConfigureMockMvc와 달리 @WebMvcTest는 web 레이어 관련 빈들만 등록하므로 비교적 가볍다.

web레이어 관련 빈들만 등록되므로 Service는 등록되지않는다. 따라서 가짜로 만들어줄 필요가 있다 (@MockBean)

profile
공부하다가 생긴 궁금한 것들을 정리하는 공간

0개의 댓글