서블릿 끝점의 응답을 확인하는 간단한 junit 테스트가 있습니다.MockMvc junit 테스트에서 @RestController의 ResponseBody를 객체로 얻는 방법은 무엇입니까?
문제점 : 문자열/json/xml 표현이 아닌 java 객체Person
과 같은 응답을 얻고 싶습니다.
그럴 수 있습니까?
@RestController
public class PersonController {
@GetMapping("/person")
public PersonRsp getPerson(int id) {
//...
return rsp;
}
}
@RunWith(SpringRunner.class)
@WebMvcTest(value = PersonController.class)
public class PersonControllerTest {
@Autowired
private MockMvc mvc;
@Test
public void test() {
MvcResult rt = mvc.perform(get("/person")
.param("id", "123")
.andExpect(status().isOk())
.andReturn();
//TODO how to cast the result to (Person) p?
}
}
직접적인 접근 방법이 없다면 좋은 해결책입니다. – membersound
또한 응답 객체 JSON을'.andExpect (content(). json ("{ 'message': ok '}")); 등으로 직접 확인할 수 있습니다. –