30

DHHのJBuilderを使用してRSPECコントローラテストからのJSON応答をテストする場合、私のresponse.bodyは常に「{}」です。開発/本番モードでは正常に機能し、jbuilderの代わりにto_jsonメソッドを使用すると、response.bodyで適切なJSONを取得します。

テスト時に私のresponse.bodyが常に「{}」になる理由について誰かが手がかりを持っていますか?

-----デバッガ

「JSON経由でカートアイテムを返す必要があります」、:focus do

get:index、:format =>:json
end

(rdb:1)response.body

「{}」

4

2 に答える 2

65

同じ問題を抱えている人のために。私はそれを理解しました。

render_views実行しているコントローラーテスト内で呼び出す必要があります。これを行うと、response.bodyJSONが含まれているが表示されます:)

于 2012-04-06T03:25:33.027 に答える
26

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レンダラーを介して表示されます

于 2012-09-03T06:35:48.373 に答える