1. @WebMvcTest
- 여러 스프링 테스트 어노테이션 중 Web(Spring MVC)에 집중할 수 있는 어노테이션
- @SpringBootTest는 모든 빈을 로드하기 때문에 Controller 레이어만 테스트하고 싶다면 @WebMvcTest를 사용하는 것을 권장
- 선언할 경우 밑의 내용만 스캔하도록 제한
- @Controller
- @ControllerAdvice
- @JsonComponent
- Converter / GenericConverter
- Filter
- WebSecurityConfiguerAdapter
- WebMvcConfiguer
- HandlerMethodArgumentResolver
2. MockMvc
- 스프링 MVC 테스트의 시작점
- 이 클래스를 통해 HTTP의 GET, POST, PUT, DELETE에 대한 API 테스트가 가능
3. @MockBean
- 가짜 객체를 만들어 컨테이너가 주입할 수 있도록 해줌
- 가짜 객체이므로 실제 행위를 않음
- Mockito, BDDMockito를 사용하여 원하는 행위를 할 수 있도록 정의
4. MockMvc의 메서드
- perform()
- HTTP를 요청
- 체이닝이 지원되어 여러 검증을 이어서 선언 가능
- andExcept()
- mvc.perform의 결과를 검증
- status(): 상태 코드 검증
- view(): 리턴하는 뷰에 대해 검증
- redirectedUrl(): 리다이렉트 url을 검증
- model(): 컨트롤러의 model에 관해 검증
- content(): 응답에 대한 정보 검증
- jsonPath(): response body에 들어갈 json 데이터 검증
- andDo()
- 요청/응답 전체 메시지 확인 가능
'Spring' 카테고리의 다른 글
[Spring] 컨테이너 및 도커 개념정리 (0) | 2024.09.19 |
---|---|
[Spring] 소셜로그인 연동 | 카카오 로그인 | 카카오 사용자 정보 가져오기 | 카카오 사용자 정보로 회원가입 구현 (0) | 2024.09.18 |
[Spring] AOP 관점지향 프로그래밍 | 횡단 관심사 분리 (0) | 2024.09.10 |
[Spring] 단위 테스트 | 테스트 코드 작성법 (0) | 2024.09.10 |
[Spring] 스프링 예외처리 통일 | 스프링 HttpStatus 반환 통일 | 스프링 에러 통일 (3) | 2024.09.05 |