본문 바로가기
개발공부/JAVA Spring

MockMvc를 이용한 테스트코드 작성

by bzerome240 2023. 3. 1.

 

스프링 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
반응형

댓글