Spring MVC Test Standalone

Spring MVC Test

  • Spring MVC 컨트롤러와의 상호작용 테스트를 위한 테스팅 프레임워크
  • 웹 환경을 목킹하기 위해서 Servlet API Mock 객체를 제공
    • MockHttpServletRequest - 자바의 HttpServletRequest mock
    • MockHttpServletResponse - 자바의 HttpServeltRequest mock
  • DispatcherServlet
    • 요청들은 Spring MVC의 DistpatcherServelt을 통해서 경로를 찾아감

Spring MVC Test Configuration Modes

  • Standalone Setup
    • 아주 가벼워서 유닛 테스트에 적합
    • 한 번에 하나의 컨트롤러를 테스트
    • 컨트롤러의 요청과 응답에 대한 테스트 가능
  • WebAppContext Setup
    • 스프링 configuration의 context를 로딩
    • configuration 별로 여러 개의 컨트롤러 테스트가 가능
    • application config 테스트 가능

Static Imports

  • Spring MVC Test는 다음의 static import를 자주 사용
  1. MockMvcRequestBuilders.*
    • 요쳥을 생성
  2. MockMvcResultMatchers.*
    • 응답에 대한 assertion들을 생성
  3. MockMvcBuilders.*
    • MockMvc 인스턴스를 구성하고 생성

컨테이너와의 주요한 차이점

  • Spring MVC Test는 서블릿 컨테이너를 실행시키지 않음
  • 네트워크 요청이 필요하지 않음
  • 컨테이너를 구동하는 데에서 차이가 있음
  • HTML이 생성되지 않기 때문에, 템플릿들이 실행되지 않음
  • 요청된 view 나 리다이텍트를 테스트 할 수 있지만, 렌더링될 HTML에 대한 테스트는 불가능
  • 필요하다면 컨테이너 구동하여 테스트 할 수 있음

Spring Mock MVC Standalone Setup

책임의 자율성이 협력의 품질을 결정한다 Projection을 사용한 qeuryDsl 결과 반환

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×