스프링 MVC 테스트 어노테이션 @WebMvcTest vs @AutoConfigureMockMvc

jjunhwan.kim·2023년 3월 25일
0

1. @WebMvcTest

  • 스프링 부트 레퍼런스를 참고하면 아래와 같이 정리할 수 있습니다.
  • @WebMvcTest을 사용하면 MVC에 관련된 스프링 빈들만 스캔하여 등록합니다.
  • @Controller, @ControllerAdvice, @JsonComponent, Converter, GenericConverter, Filter, HandlerInterceptor, WebMvcConfigurer, WebMvcRegistrations, HandlerMethodArgumentResolver 빈들은 스캔하여 등록합니다.
  • @Component와 @ConfigurationProperties는 스캔되지 않습니다.
  • @ConfigurationProperties빈들을 등록하려면 @EnableConfigurationProperties를 사용하라고 합니다.
  • 추가적으로 필요한 빈들은 @Import를 사용하여 등록합니다.
  • @WebMvcTest를 사용하면 MockMvc를 자동으로 설정합니다.
  • @AutoConfigureMockMvc를 사용하면 @WebMvcTest없이도 MockMvc를 자동으로 설정합니다.

2. @AutoConfigureMockMvc

  • @AutoConfigureMockMvc를 사용하면 @WebMvcTest없이도 MockMvc를 사용할 수 있습니다.
  • 따라서 @SpringBootTest로 프로젝트의 모든 스프링 빈을 등록하고 @AutoConfigureMockMvc로 MockMvc를 사용하여 통합 테스트를 할 수 있습니다.

0개의 댓글