Mock 객체를 이용해 Controller를 호출하고, 그 결과를 객체로 변환하여 테스트한다.
@SpringBootTest
@AutoConfigureMockMvc
class TestControllerTest {
final static String head_url = "/test";
@Autowired
CleanAPIController cleanAPIController;
@Autowired
MockMvc mockMvc;
@Test
void bbsList() throws Exception {
// 기본 응답 테스트
mockMvc.perform(get(head_url + "/bbs/list"))
.andExpect(status().isOk())
.andDo(print());
// 변환 테스트
MockHttpServletResponse response = mockMvc.perform(get(head_url + "/bbs/list"))
.andExpect(status().isOk())
.andReturn()
.getResponse();
// mock 객체 변환
ObjectMapper objectMapper = new ObjectMapper();
BbsResult bbsResult = objectMapper.readValue(response.getContentAsString(), BbsResult.class);
assertEquals(200, bbsResult.getStatus());
}
}
'SpringFramework > JUnit Test' 카테고리의 다른 글
응답값 한글 깨짐 (0) | 2021.03.22 |
---|---|
JUnit DataJpaTest 단위 테스트 (with vault) (0) | 2021.03.19 |
JUnit5 assertAll 사용법 (0) | 2020.11.24 |
SpringBoot JUnit5 의존성 설정 (0) | 2020.11.24 |
Spring Seurity 적용시 테스트 방안 (0) | 2020.06.10 |