23.01.07 jsonPath의 $.data.phone 과 같은 표현식
jsonPath의 $.data.phone 과 같은 표현식은
ResultActions 타입 actions에 담긴
ResponseEntity의 body parameter인
SingResponseDto가 root가 되어
그 안에 data 필드, 또 data 필드에 할당되는 mapping 메서드 return값인 response,
또 그 response 안에 phone 필드 값을 찾는게 맞나?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
actions에 ResponseEntity가 담긴건 아니다. 이미 DispatcherServlet을 거쳐서 외부로 나가고 있기 때문에 JSON 문자열이 담김. 이 문자열을 파싱해서 Java에서 어떤 값에 접근하려면 결국 객체니까 Object로 변환 추측.
다만 개발자가 조금 더 편리하게 접근 가능하도록 $.data.phone 이런식으로 표기
흠 근데 저 표현식이 필드 phone을 접근하는 건 아닌거 같음..
actions.andExpect(status().isOk())
.andExpect(jsonPath("$.data.name")
.value(patch.getName()))
.andExpect(jsonPath("$.data.memberStatus")
.value(patch.getMemberStatus().getStatus()));
저기서 getMemberStatus()로 끝나면 일치하지 않아서 오류가 난다
그래서 getStatus()로 했는데
getStatus 여야 활동중 같은 한글로 나오고
getMemberStatus 면 active같은 영어로 나오는건데..
getter 기준인가