Hamcrest matchers

Я написал хамкрест, как это в спецификации ответа RestAssured

builder.expectBody("hotelavailabilities.rateplans.rooms.adults", 
    anyOf(
       hasItemInArray(
          anyOf(
             hasItemInArray(
                 anyOf(hasItemInArray(Integer.parseInt(adults))))))));

Я хочу построить утверждение как выше, поэтому я сравниваю вывод json с этим утверждением

Но я получаю ошибку, как показано ниже

java.lang.AssertionError: 1 expectation failed.
JSON path hotelAvailabilities.ratePlans.rooms.adults doesn't match.
Expected: (an array containing (an array containing (an array containing <2>)))
  Actual: [[[2], [2]], [[2]], [[2], [2]], [[2], [2]]]

Как написать подколенное сухожилие, чтобы выход покрывался и утверждался?

Схема JSON:

введите описание изображения здесь

Также иногда может быть только один массив в объекте Rooms или их может быть три, но 2 будет постоянным

1 ответ

Наконец -то решил

hasItem(anyOf(hasItems(anyOf(hasItem(Integer.parseInt(взрослые)))))));

Другие вопросы по тегам