11장 웹 애플리케이션 제작
Test
@WebMvcTest
오로지 Controller 를 테스트 하기 위한 어노테이션
WebMvcTest 가 가져오는 의존성
@Controller, @ControllerAdvice, @JsonComponent, Converter, GenericConverter,
Filter, HandlerInterceptor
위의 의존성들만 ComponentScan 해서 가져오기 때문에 Service, Repository 등 의 어노테이션을 컨트롤러 단에서 사용 중 이어도 가져오지 않는다.
만약 @Service 가 붙은 스프링빈을 가져와서 사용하는 컨트롤러를 가져와서 테스트한다면 에러가 난다.
이럴 경우 @MockBean 을 사용하는것이 정석이라 한다.
@SpringBootTest
실제 애플리케이션을 로컬 위에 올리고 실제 DB와 커넥션이 되는 상태로 진행되는 Live 테스트 방법
여러 단위 테스트를 하나의 통합된 테스트로 진행할때 적합하다.
@DataJpaTest
JPA 관련 테스트 설정 만 로드하는 어노테이션
내장형 DB를 지원해줘서 DB 설정 없이도 테스트 가능하다.
기본적으로 @Transactional 이 포함되있어서 테스트가 완료되면 자동으로 롤백된다.
Last updated