Junit5를 사용할때
@AutoConfigureMockMvc
를 넣어야 MockMvc가 주입이됩니다.
MockMvc : Spring MVC 애플리케이션의 컨트롤러를 테스트하기 위한 주요 도구입니다. **MockMvc
**를 사용하면 실제 서블릿 컨테이너를 시작하지 않고도 Spring MVC 인프라를 모의(mock) 환경에서 실행할 수 있습니다. 이를 통해 개발자는 HTTP 요청과 응답을 다루는 컨트롤러의 동작을 효율적으로 검증할 수 있습니다.
MockMvc Content-Type은 JSON으로 보냅니다.
사용한 메서드
perform : 요청을 수행하고 결과에 대한 기대 주장과 같은 추가 작업을 체인화할 수 있는 유형을 반환합니다.
MockMvcRequestBuilders
: Url에 관한 요청을 진행할때 사용하는 빌더입니다.
contentType
: 컨텐츠 타입에 대한 정보를 남겨주는 메서드입니다.content
: 컨텐츠안에 내용을 담는 내용입니다.andExpect
: 동작을 했을경우 기대
MockMvcResultMatchers
: 해당 기대값에 대한 동작이 일치하는지에 대해 사용합니다.
.andDo(MockMvcResultHandlers.*print*());
: http에 대한 요청 정보를 출력하는 메서드 입니다.
TestCode MockMvc 작성시 ContentType 사용법
mockMvc.perform(MockMvcRequestBuilders.get("/hi")
.contentType(MediaType.APPLICATION_FORM_URLENCODED)
.param("title","글 제목 입니다.")
.param("content","글 내용입니다. 하하"))