@SpringBootTest:
- MockMvc 객체를 빈으로 등록하지 않기 때문에 @AutoConfigureMockMvc로 빈으로 등록해야한다.
- 프로젝트에 있는 스프링 빈을 모두 등록해서 테스트에 필요한 의존성을 추가해준다.
장점:
- 프로젝트에 있는 모든 스프링 빈을 등록하므로, 테스트에 필요한 겍체를 주입받아서 쉽게 사용 가능하다.
- 실제 환경과 가장 유사하게 테스트 가능.
통합테스트에 많이 사용.
@WebMvcTest:
- MockMvc 객체를 빈으로 등록해서 @Autowired로 MockMvc 주입이 가능하다.
- Web Layer 관련 빈들만 등록하기 때문에, @Component로 등록한 빈은 @MockBean으로 등록해야한다.
장점:
- Wed Layer 관련 빈만 로드하기 때문에, 속도가 @SpringBootTest보다 빠르다.
- 통합테스트에서 테스트가 어려운 작은 단위 테스트들을 @WedMvcTest로 진행할 수 있다.
Controller단위 테스트에 많이 사용.
'개발 공부' 카테고리의 다른 글
TCP와 UDP의 공통점과 차이점 (0) | 2023.05.21 |
---|---|
트렌젝션이란? (0) | 2023.05.21 |
Spring 에서 사용하는 Rest Client (0) | 2023.05.21 |
스프링 컨테이너(Spring Container)란? (0) | 2023.05.21 |
List, Set, Map, HashMap의 차이 (0) | 2023.05.21 |