Почему JBuilder не возвращает тело ответа в JSON при тестировании RSPEC - PullRequest
28 голосов
/ 01 апреля 2012

При тестировании ответа JSON от теста контроллера RSPEC с использованием DHB JBuilder, мой response.body всегда "{}". Он отлично работает в режимах разработки и производства И когда я использую метод to_json вместо jbuilder, я получаю правильный JSON в моем response.body.

Кто-нибудь знает, почему мой response.body всегда будет "{}" при тестировании?

----- Отладчик

он "должен возвращать элементы корзины через JSON",: focus do

get: index,: format =>: json
конец

(rdb: 1) response.body

"{}"

Ответы [ 2 ]

61 голосов
/ 06 апреля 2012

Для тех, у кого такая же проблема Я понял это.

Вы должны позвонить render_views в рамках тестов, которые вы проводите. Если вы сделаете это, вы должны увидеть response.body с вашим JSON-файлом:)

25 голосов
/ 03 сентября 2012

Вы можете найти решение от https://github.com/rails/jbuilder/issues/32

Так в rspec / spec_helper.rb

RSpec.configure do |config|
  # https://github.com/rails/jbuilder/issues/32
  config.render_views = true
end

После добавления вышеуказанной опции результат JSON будет отображаться через рендер jbuilder

...