🚨오류
java.lang.AssertionError: No value at JSON path "$.userId"
at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:351)
at org.springframework.test.util.JsonPathExpectationsHelper.assertValue(JsonPathExpectationsHelper.java:148)
at org.springframework.test.web.servlet.result.JsonPathResultMatchers.lambda$value$2(JsonPathResultMatchers.java:112)
at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214)
at com.mini_prioject.display_board.controller.UserControllerTest.createUser_WhenValidRequest(UserControllerTest.java:81)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
✍️원인
Mockito는 같은 객체(request)가 전달될 때만 응답을 반환
하지만 mockMvc에서 보낸 JSON 요청을 Spring이 다시 객체로 만들면, 원래 request와 다른 객체로 인식됨
✅해결
정확한 객체 일치 대신 any(JoinRequest.class)를 사용
given(userService.join(any(JoinRequest.class))).willReturn(response);
📚참고
Chap GPT
'Java > Java with Error' 카테고리의 다른 글
java.lang.AssertionError: Status expected:<201> but was:<401> (0) | 2025.03.29 |
---|---|
java.lang.AssertionError: Status expected:<201> but was:<403> (0) | 2025.03.29 |
[해결 방법] no suitable constructor found for Jackson2JsonRedisSerializer(Class<CAP#1>) (0) | 2024.11.24 |
[해결 방법] error: no suitable method found for ... (0) | 2023.10.17 |
[해결 방법] java.lang.ClassCastException (0) | 2023.08.15 |