영문 spring test 환경 (MockMVC+Junit) 기본설명 : REF
Spring에서 지원하는 MockMvc로도 거의 모든 테스트가 가능하다.
(가끔 Mockito가 필요하면 둘을 섞어서 쓰면 되는 정도로 보인다)
이전엔 Mockito가 많이 필요했지만, 필요성이 조금 줄어든 것 같다.
아래는 MockMvc로 컨트롤러를 테스트 하는 예제이다.
- Controller Test annotation (spring-boot 1.4 부터 지원:) REF
<MockMVC 기본> REF
1. Request
-perform
-accept
-with
-param
-cookie
-sessionAttr
2. Response
-andExpect
-andDo
-andReturn
<andExpect> 에서 여러가지 확인이 가능한데.. 주로 많이 쓰는 것들은
.andExpect(status().isOk())
.andExpect(content().json(expected));
.andExpect(status().is3xxRedirection());
.andExpect(view().name("list"))
.andExpect(MockMvcResultMatchers.model().size(1));
등등이다.
ModelAndView: 데이타가 복잡할 경우에도 테스트가 가능한데....
View name = redirect:view
View = null
Attribute = MyTicketReserveResult
value = MyTicketReserved(code=0009, msg=nulll)
errors = []
와 같은 json을 확인하려면.. (아직 확인 중)
.andExpect(jsonPath("$[1].rtncd").value("0009"))