Junit5를 사용할때

@AutoConfigureMockMvc 를 넣어야 MockMvc가 주입이됩니다.

용어 정리

MockMvc : Spring MVC 애플리케이션의 컨트롤러를 테스트하기 위한 주요 도구입니다. **MockMvc**를 사용하면 실제 서블릿 컨테이너를 시작하지 않고도 Spring MVC 인프라를 모의(mock) 환경에서 실행할 수 있습니다. 이를 통해 개발자는 HTTP 요청과 응답을 다루는 컨트롤러의 동작을 효율적으로 검증할 수 있습니다.

MockMvc Content-Type은 JSON으로 보냅니다.

사용한 메서드

perform : 요청을 수행하고 결과에 대한 기대 주장과 같은 추가 작업을 체인화할 수 있는 유형을 반환합니다.

MockMvcRequestBuilders : Url에 관한 요청을 진행할때 사용하는 빌더입니다.

andExpect : 동작을 했을경우 기대

MockMvcResultMatchers : 해당 기대값에 대한 동작이 일치하는지에 대해 사용합니다.

.andDo(MockMvcResultHandlers.*print*()); : http에 대한 요청 정보를 출력하는 메서드 입니다.

TestCode MockMvc 작성시 ContentType 사용법

application/x-www-form-urlencoded

mockMvc.perform(MockMvcRequestBuilders.get("/hi")
                        .contentType(MediaType.APPLICATION_FORM_URLENCODED)
                        .param("title","글 제목 입니다.")
                        .param("content","글 내용입니다. 하하"))