Как протестировать JSON, следуют из функциональных испытаний Ruby on Rails?

70
задан Peter Mortensen 8 October 2013 в 20:00
поделиться

3 ответа

Используйте JSON.parse драгоценного камня JSON , который берет строку в качестве входа и возвращает хеш Ruby, который представляет JSON.

Вот основная суть для теста:

user = JSON.parse(@response.body)
assert_equal "Mike", user['name']

Вот документация для драгоценного камня: http://json.rubyforge.org/ . Кроме того, можно играть с драгоценным камнем JSON в IRB довольно легко.

84
ответ дан Peter Mortensen 24 November 2019 в 13:17
поделиться

Также для коротких ответов JSON вы можете просто сопоставить строку JSON с @response .тело. Это избавляет от необходимости полагаться на еще один драгоценный камень.

assert_equal '{"total_votes":1}', @response.body
4
ответ дан 24 November 2019 в 13:17
поделиться

Rails имеет встроенную поддержку JSON:

def json_response
    ActiveSupport::JSON.decode @response.body
end

Нет необходимости в плагине

Тогда вы можете сделать что-то вроде этого:

assert_equal "Mike", json_response['name']
86
ответ дан 24 November 2019 в 13:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: