auto-configured test

스프링 부트의 자동 구성 기능이 유용하지만 테스트 환경에선 불필요한 오버헤드가 될 수 있다

auto-configured test는 테스트 시 딱 필요한 부분(빈 등록 등)만 잘라내어 컨텍스트를 구성하는 방법이다

spring-boot-test-autoconfigure 모듈에서는 유사한 동작(웹 계층, 데이터베이스 계층 등)을 수행하는 것들끼리 묶어 ApplicationContext를 로드하는 @...Test 어노테이션(@WebMvcTest 등)을 제공한다

@...Test 어노테이션은 한 개 이상의 @AutoConfigure...(@AutoConfigureWebMvc 등) 어노테이션이 적용되어 있는데, 사용자가 필요한 경우 추가적으로 선언하여 테스트 환경의 자동 구성을 커스터마이징할 수 있다

규칙

@...Test 어노테이션에 설정된 특정 자동 구성을 비활성화하고 싶은 경우

하나의 테스트에서 두 개 이상의 @...Test를 적용할 수 없다

@SpringBootTest와 여러 @AutoConfigure... 조합해서 사용할 수 있다