Уверенный в себе, не может проверить ответ массива JSON - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь проверить, что массив JSON содержит определенное значение. Использование Rest-Assured с импортом совпадений Hamcrest в Java. Это JSON, который я проверяю;

{
    "graph": {
        "groupedResultColumns": [
            "Task_Status",
            "Task_TimeSpent"
        ]
    }
}

После прочтения информации о том, как быть уверенным в себе, и хамкресте, это код, который я сейчас пробую;

{
    SerenityRest.then()
      .body(containsString("groupedResultColumns"))
      .assertThat().body("groupedResultColumns", (hasItems("Task_TimeSpent")));
}

Этоэто ошибка, которую я получаю;

JSON path groupedResultColumns doesn't match.
Expected: (a collection containing "Task_TimeSpent")
  Actual: null

Любая помощь или совет приветствуются, спасибо!

1 Ответ

1 голос
/ 03 октября 2019

Вам необходимо указать путь json к коллекции. "groupedResultColumns" находится внутри "graph", поэтому ваш путь к телу будет graph.groupedResultColumns.

Ваш код будет выглядеть примерно так:

{
    SerenityRest.then()
      .body(containsString("groupedResultColumns"))
      .assertThat().body("graph.groupedResultColumns", (hasItems("Task_TimeSpent")));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...