Я использую restassured с junit4. В моем методе тестирования я создаю объект в mongodb, и когда я запускаю тест, он также успешно сохраняется. Но мне нужно сохранить созданный идентификатор, поэтому я пытаюсь получить тело ответа. Но response.getBody().asString()
пуст.
@Test
public void testA() throws JSONException {
Map<String,Object> createVideoAssignmentParm = new HashMap<String,Object>();
createVideoAssignmentParm.put("test1", "123");
Response response = expect().statusCode(201).when().given().contentType("application/json;charset=UTF-8")
.headers(createVideoAssignmentParm).body(assignment).post("videoAssignments");
JSONObject jsonObject = new JSONObject(response.getBody().asString());
id= (String)jsonObject.getString("assignmentId");
}
Когда я вызываю остальную конечную точку извне, она возвращает тело ответа также с соответствующими полями, поэтому проблем с остальным API нет.
Если нет ответа на вышеупомянутый вопрос, то как бы вы, ребята, протестировали сообщение с возвращаемым телом, не сомневайтесь, чтобы я мог попробовать это.
Мой метод контроллера выглядит так:
@RequestMapping(value = "/videoAssignment", produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE, method = RequestMethod.POST)
@ResponseBody
public HttpEntity<VideoAssignment> createVideoAssingnment(
//@ApiParam are there..){
//other methods
return new ResponseEntity<>(va, HttpStatus.CREATED);
}