개발공부/JAVA Spring
MockMvc를 이용한 테스트코드 작성
bzerome240
2023. 3. 1. 17:16
스프링 MVC를 모킹하여 웹 어플리케이션을 테스트 할 수 있는 라이브러리
controller 레이어를 테스트 하기 위해 사용 -> 서블릿 컨테이너에서 controller를 실행하지 않고도 컨트롤러에 HTTP 요청을 할 수 있다.
매번 서버를 띄우고 브라우저를 통해 테스트 하지않고 테스트 코드를 통해 검증 가능
MockMvcBuilders 클래스
-> 1. standaloneSetup() : 유닛테스트와 유사하다.
-> 2. webAppContextSetup() : 통합테스트를 할 수 있다.
테스트해야하는 것
- 요청 경로에 대해 적절한 handler method가 호출되는지?
- 입력 파라미터는 handler method에 잘 전달되는지?
- model에 설정한 값은 잘 참조 하는지?
- 요청 결과 페이지는 잘 연결되는지?
MockMvc 메서드
- perform()
- 요청을 전송하는 역할
- 결과로 ResultActions 객체를 받으며, 검증할 수 있는 andExpect() 메서드를 제공한다.
- get("/search")
- HTTP 메소드 get(), post(), put(), delete()
- params() / param()
- 키=값의 파라미터를 전달
- andExpect()
- 응답을 검증하는 역할
- 한개라도 실패하면 테스트는 실패한다.
- status()
- view()
- handler()
- redirect()
- model()
728x90
반응형