LoginSignup
40
26

More than 5 years have passed since last update.

rspec: controllerのテストで、render_viewsを使うとviewの内容を確認できる

Last updated at Posted at 2015-04-01

便利だったので、備忘録として記録します。

使いたい場合

controllerのテストついでに、viewの内容を確認したい場合。

記述例

render_viewsと書いた後にresponse.bodyの内容を確認します。

spec/controller/books_controller_spec.rb
RSpec.describe BooksController, type: :controller do
  describe 'GET #new'
    render_views

    before do
      get :new
    end

    it 'render_template :new' do
      expect(response).to render_template(:new)
    end

    it 'bodyに"新規作成"という記述があること' do
      expect(response.body).to include('新規作成')
    end

  end
end

以上です。

http://stackoverflow.com/questions/1063073/rspec-controller-testing-blank-response-body
https://www.relishapp.com/rspec/rspec-rails/v/2-1/docs/controller-specs/render-views
https://www.relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec

40
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
26