Всем привет! Учусь писать тесты на АПИ и хотелось бы спросить совета у знающих людей:slight_smile:
Вопрос следующий: Как лучше и правильнее проверять пришедший ответ в json, если он очень большой, json состоит из около 90 выходных параметров. Как правильнее поступить: проверять отдельно каждый параметр в тесте или просто сравнивать 2 объекта (т.е. сразу все параметры)?
Использую restAssured, сейчас получается как-то так:
@Test
public void someTest1(){
Response actualResponse =
given()
.spec(requestSpec)
.body(request)
.when()
.post("/someEndPoint")
.then()
.statusCode(200)
.spec(responseSpec)
.extract().body().as(Response.class);
assertThat(actualResponse , equalTo(expectedResponse));
}
но в этом случае, если при сравнении возникла какая-то ошибка, допустим, значения не соответствуют ожидаемому, то в AssertionError не указано конкретное значение, в котором возникла ошибка, в этом случае выводится просто весь список параметров и его значений, что затрудняет поиск несоответствий. Если бы проверка была по каждому параметру отдельно, то такой проблемы бы не возникало, например:
assertThat(actualResponse.getParam1 (), equalTo(expectedResponse.getParam1()));
Но писать такие проверки на каждый параметр из json довольно объемно, как всё же стоит делать проверки?)