Spring의 MockMVC 프레임 워크를 사용하여 데이터베이스에 객체를 게시하는 메소드를 테스트하려고합니다. 다음과 같이 내가 테스트를 구축했습니다Spring MockMVC를 사용하여 Spring의 @RequestBody를 테스트하십시오.
@Test
public void testInsertObject() throws Exception {
String url = BASE_URL + "/object";
ObjectBean anObject = new ObjectBean();
anObject.setObjectId("33");
anObject.setUserId("4268321");
//... more
Gson gson = new Gson();
String json = gson.toJson(anObject);
MvcResult result = this.mockMvc.perform(
post(url)
.contentType(MediaType.APPLICATION_JSON)
.content(json))
.andExpect(status().isOk())
.andReturn();
}
방법 I 테스트가 ObjectBean을받을 봄의 @RequestBody를 사용 해요,하지만 테스트가 항상 400 오류를 반환합니다.
@ResponseBody
@RequestMapping( consumes="application/json",
produces="application/json",
method=RequestMethod.POST,
value="/object")
public ObjectResponse insertObject(@RequestBody ObjectBean bean){
this.photonetService.insertObject(bean);
ObjectResponse response = new ObjectResponse();
response.setObject(bean);
return response;
}
시험에 GSON에 의해 생성 된 JSON :
{
"objectId":"33",
"userId":"4268321",
//... many more
}
public class ObjectBean {
private String objectId;
private String userId;
//... many more
public String getObjectId() {
return objectId;
}
public void setObjectId(String objectId) {
this.objectId = objectId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
//... many more
}
그래서 내 질문입니다 ObjectBean 클래스 : 어떻게 봄 MockMVC를 사용하여이 방법을 테스트하려면?
후 귀하의'ObjectBean' 클래스와 어떤'json' 요청을 보내기 전에이 포함되어 있습니다. –
님의 의견에 업데이트되었습니다. – Matt
실제 수업을 게시해야합니다. 400으로 Spring은 요청 본문을'ObjectBean' 객체로 변환하는 데 실패하고 있습니다. –