Поскольку имя вашей переменной упоминает JSON, я предполагаю, что у вас есть массив хэшей.В этом случае вы можете использовать double include
:
expect(json_resp["animals"]).to include(include("id" => 4))
Внешний вызов говорит, что массив должен содержать элемент, соответствующий его параметру;затем внутренний описывает, как сопоставить этот элемент: здесь, выполнив еще одно совпадение include
для хэша.
(Обратите внимание, я предположил, что у вашего хэша есть строковые ключи, опять же, потому что JSON; вам понадобитсяиспользовать то, что подходит для ваших данных.)
Если вместо этого ваш массив содержит обычные классы, вы все равно можете использовать include
для массива, но затем have_attributes
для объекта внутри:
expect(json_resp["animals"]).to include(have_attributes(id: 4))