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
의 메서드다.