//
Search
💡

스프링 부트 테스트

@SpringBootTest 기본 구성

일단 스프링 컨테이너와 스프링 부트 환경을 포함하는 테스트는 이것으로 다 작성 가능
통합 테스트를 할 때 적절한 선택
애플리케이션 컨텍스트를 로드하는데 시간이 걸리므로 테스트가 다소 무거운 편
@SpringBootTest
포함한 애노테이션: @BootstrapWith + @ExtendWith
흔한 실수: JUnit 5 쓸 때 @ExtendWith(SpringExtension.class) 쓰지 않기
@Test
JUnit5 애노테이션
단위 테스트 메서드를 지정
value, properties: 프로퍼티 설정
args: 애플리케이션 실행 시 커맨드라인으로 입력하는 인자(옵션) 설정
classes: ApplicationContext 로딩을 위한 설정 클래스를 직접 지정(default SpringBootApplication)
webEnvironment: ApplicationContext의 웹 환경 설정

Auto-configured Test(Slice Test)

스프링 애플리케이션에서 내가 필요한 일부분(slice)의 자동 설정만 불러오는 방법
@DataJDBCTest
@DataJpaTest
@RestClientTest
@WebMvcTest
@WebServiceClientTest

@WebMvcTest

Spring MVC 컨트롤러 레이어를 슬라이스 테스트할 때 사용
MockMvc 빈을 자동 설정하고 테스트에 사용
로드할 컨트롤러 클래스를 지정 가능( 기본 동작: 전체 컨트롤러 로드 )