Search code examples
ruby-on-railsjsonrspecjbuilder

Why is JBuilder not returning a response body in JSON when testing RSPEC


When testing a JSON response from an RSPEC controller test using DHH's JBuilder, my response.body is always "{}". It works fine in development/production modes AND when I use the to_json method instead of jbuilder, I get proper JSON in my response.body.

Anyone have a clue as to why my response.body would always be "{}" when testing?

----- Debugger

it "should return the cart items via JSON", :focus do

get :index, :format => :json
end

(rdb:1) response.body

"{}"


Solution

  • For anyone that is having the same issue. I have figured it out.

    You must call render_views within the controller tests you are doing. If you do that, you should then see a response.body with your JSON contained :)