mockMvc를 사용해 컨트롤러를 테스트 했다.
응답 받은 json 결과에서 값을 비교할 수 있다.
/reviews/{reviewId}로 GET 요청을 보냈을 때
응답 받은 json 결과에서 title이라는 키의 값이 testTitle인지 테스트하는 코드다.
@Test
@DisplayName("리뷰 조회")
@WithUserDetails(value = "testId")
@Order(3)
public void getReview() throws Exception {
UserReviewDto userReviewDto = new UserReviewDto("testTitle", "testPlace", "testReview");
UserReview userReview = new UserReview(userReviewDto, user);
userReviewRepository.save(userReview);
Long reviewId = userReview.getId();
mockMvc.perform(get("/reviews/{reviewId}", reviewId))
.andExpect(status().isOk())
.andExpect(jsonPath("title", is("testTitle")))
.andExpect(jsonPath("place", is("testPlace")))
.andExpect(jsonPath("review", is("testReview")))
.andDo(print());
}
여기서 is()는 org.hamcrest.core.Is의 메서드다.