RSpec controller testing - blank response.body

RSpec 2+: If you want to check end to end - url to response body - use a request spec instead of a controller spec.


By default, rspec-rails hacks into Rails to prevent it from actually rendering view templates. You should only test the behavior of your actions & filters your controller tests, not the outcome of template rendering — that's what view specs are for.

However, if you wish to make your controller specs render templates as the app normally would, use the render_views directive:

describe YourController do
  render_views
  ...
end