Предполагая, что вы используете Java 8 или выше, вы должны использовать Arrays.stream(someArray)
, а затем использовать метод filter
для выбора элементов, которые вы хотите.
Я не пользовался REST-гарантией, но, основываясь на их документации, похоже, что вы должны быть в состоянии использовать что-то подобное ниже
@Test public void
lotto_resource_returns_200_with_expected_id_and_winners() {
when().
get("/lotto/{id}", 5).
then().
statusCode(200).
body("someArray", hasItems(hasEntry("someProperty", "someValue")));
}
Это работает, если вы можете использовать некую логику десериализации для преобразования объекта в карту перед использованием hasEntry
Другое решение заключается в использовании findAll
body("someArray.findAll {o -> o.someProperty == 'someValue'}.size()", greaterThan(0))