Я пытаюсь использовать RSpec с драгоценным камнем Airborne, чтобы проверить значение поля в ответе JSON объектов «людей» из API.Как проверить значение одного поля в объекте JSON с RSpec
Код:
it 'GET list of people objects where gender = male' do
get "/people?gender=male"
expect_json('people.*', {gender: 'MALE'})
end
Так что, если мой тест делает вызов API с этим конкретным фильтром (пол), я ожидаю только тянуть обратно человек с пола мужского пола. Однако этот код не работает, потому что у каждого объекта «человек» есть много разных ключей (: имя, возраст и т. Д.). Я ТОЛЬКО хочу проверить пол, но я не могу заставить его пройти, потому что expect_json ожидает, что ВСЕ ключи от людей будут записаны в тест.
Я прочешут Google/документации Airborne, но безрезультатно: https://github.com/brooklynDev/airborne
Документы говорят, что вы делаете это правильно. Вы дважды проверили, что ответ действительно правильный? Что такое сам json? –
Таким образом, ответ JSON для каждого объекта человека является: лицо: { пол: «MALE», имя: «Джон», возраст: 21 } (Там на самом деле много, много больше ключей, но это просто пример) –
Дважды проверили ответ. Он перечисляет все ключи в JSON и говорит, что он не соответствует ожидаемому, а затем в разделе «Diff:» перечислены ключи, которые я не включил в тест. –