Capybara / RSpec / Rails / Ruby

連載: Rails4+RSpec+Capybaraでよく使うマッチャ&メソッド22個+α

「」第回の今回はCapybaraのテストでログイン処理を行う方法を紹介します。

Capybaraでテストする場合、fill_inclick_onを使ってログイン処理を行います。

例えば

let!(:user) { FactoryGirl.create(:user, name: 'capybara', password: 'rails')}

before do
  visit '/login/'
  fill_in 'username', with: 'capybara'
  fill_in 'password', with: 'rails'
  click_on 'ログイン'

  visit '/'
end

subject { page }

it { should have_content 'capybaraさんがログイン中'}

とすればcapybaraユーザがパスワードに「rails」を入力してログインした場合のトップページの内容をテストすることができます。

関連記事