[Spring] Test중

MockMvc 삽입 오류

컨트롤러의 간단한 동작 테스트 중에 MockMvc가 주입되지 않아서 삽질했습니다…

오류 상황


[Spring] Test중 1

“자동으로 연결할 수 없습니다”, “‘MockMvc’ 유형의 빈을 찾을 수 없습니다”라는 오류가 발생합니다.

찾아보니 IntelliJ에서 발생하는 단순 오류인 것 같습니다.


[Spring] Test중 2

Inspection “Incorrect automatic wiring of the injection point in the Spring Bean components” – Suppress 옵션을 Field에 설정하면 다음과 같이 표시됩니다.

@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
@Autowired
private MockMvc mvc;

@SuppressWarnings 주석이 달려 있으며 특정 실패 지점을 무시할 수 있습니다.

어떤 분들은 IntelliJ를 쉽게 업데이트할 수 있다고 하는데, 위의 방법으로 해결했고 정상적으로 동작하는 것을 확인했습니다.


무엇을 가져올 것인가

컨트롤러 테스트 코드를 작성할 때 다음 코드를 선언하여 MockMvc의 get 및 post 메서드의 content(), status() 및 expect()를 가져오기만 하면 됩니다.

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;

jsonPath를 사용할 때와 비교

.andExpect(jsonPath("$.name", is(name)))
.andExpect(jsonPath("$.amount", is(amount)));

is here를 사용하려면 아래 코드를 직접 가져와야 합니다.

import static org.hamcrest.Matchers.is;