Есть ли способ утверждать, что тело ответа имеет обязательные параметры в Json через RestAssured Java - PullRequest
0 голосов
/ 03 апреля 2019

Мне нужно утверждать в спокойном Джейве, что тело ответа Json имеет требуемые параметры.
Как я могу сделать это вместо того, чтобы просто покрывать Json строкой и затем утверждать, содержит ли строка текст, так как этот текст можетбыть в параметре также?

Вот пример Json:

[
    {
        "modificationDate": "2018-12-10T09:39:07Z",
        "startDate": "2018-11-08T04:59:25Z",
        "endDate": "2018-12-10T09:39:07Z"

    },

    {
        "modificationDate": "2008-12-10T09:39:07Z",
        "startDate": "2008-11-08T04:59:25Z",
        "endDate": "2008-12-10T09:39:07Z"

    }
]

Итак, как я могу утверждать, что параметры modificationDate, startDate и endDate найдены в теле ответа.

1 Ответ

0 голосов
/ 03 апреля 2019

Вы можете использовать Hamcrest.hasKey(K key) для проверки наличия ключа в теле.

when().get("....")
    .then().body("$", hasKey("modificationDate"))
           .body("$", hasKey("startDate"))
           .body("$", hasKey("endDate"))

Учитывая, что вы получаете что-то вроде этого

{
    "modificationDate": "...",
    "startDate": "",
    "endDate": ""
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...