453 подписчика
💬 Проверка вхождения всех элементов в массив
Сегодня разберём, как в Rest Assured проверить, что массив в ответе содержит все нужные элементы, независимо от их порядка и от того, есть ли там другие элементы.
Тест запрашивает первую страницу списка пользователей. Метод body() принимает два параметра. Первый — путь JsonPath: data.id собирает идентификаторы всех пользователей в массив [1, 2, 3, 4, 5, 6]. Второй — матчер hasItems(1, 3, 5), который проверяет, что в массиве есть каждое из этих значений.
Тест пройдёт: 1, 3 и 5 в массиве есть, а лишние 2, 4 и 6 проверке не мешают. Если заменить 5 на 7, тест упадёт:
Expected: (a collection containing <1> and a collection containing <3> and a collection containing <7>)
Actual: <[1, 2, 3, 4, 5, 6]>
Если нужно точное совпадение массива, используйте contains() — с учётом порядка — или containsInAnyOrder() — без учёта.
✨ Попробуйте мини-курс по Java: qaway.ru/...tml
Около минуты
2 ноября