[Spring] WebMvcTest시 Get 매핑시 주의 사항

Walter Mitty·2023년 6월 1일
0
post-thumbnail

유저 정보 조회시, 유저의 고유번호가 파라미터로 넘어왔어야 했는데 대뜸 {} 비어있음....

테스트 쪽 코드 중 일부

mockMvc.perform(
            get("/mdmm/user-info")
                .contentType(MediaType.APPLICATION_JSON)
                .accept(MediaType.APPLICATION_JSON)
        )

위에서 보면 get("/mdmm/user-info")이후에 param에 대한 값을 안보내주는 중...!

변경 코드

 mockMvc.perform(
            get("/mdmm/user-info").param("userId","6")
                .contentType(MediaType.APPLICATION_JSON)
                .accept(MediaType.APPLICATION_JSON)
        )


이제는 잘 보내주는데, 또 다른 오류가 발생.


객체의 주소값이 다르다...!!!

given(userAdminService.findUserReaderInfo(any(Integer.class))).willReturn(response);

given으로 줬던 response와

.andExpect(status().isOk())
.andExpect(jsonPath("code").value(200))
.andExpect(jsonPath("message").value(SuccessMessage.SUCCESS_MSG))
.andExpect(jsonPath("data").value(response))
.andExpect(content().contentType(MediaType.APPLICATION_JSON))

Expect로 넣어준 "data"의 response 주소가 달라서일까...?

흠!!!

여튼 Get 쪽에서는 "message" 나 "data"를 따로 Expect해줄 필요는 없다. 지워주면 해결!

0개의 댓글