Мне нужно проверить, что ответ, подобный приведенному ниже, содержит несколько полей. Меня не интересует значение полей - просто ключи существуют.
Например, я хочу проверить, присутствует ли ключ «id» в ответе этого типа. Как бы я этого достиг?
[
{
"id":"1",
"title":"Title",
"details":"details",
"benefit":"Welcome",
"expirationTimestamp":1549995900,
"notice":"some text",
}
]
Если я делаю
given()
.spec(reqSpec).
when()
.get().
then()
.body("$", hasKey("id"));
Я получаю сообщение об ошибке:
java.lang.AssertionError: 1 expectation failed.
JSON path $ doesn't match.
Expected: map containing ["id"->ANYTHING]
Actual: [{blabla=something, id=1, details=details, etc=etc}]
Пожалуйста, кто-нибудь может объяснить мне, как это должно работать?