ログインが必要なページをテストする
Capybaraのテストでログイン処理を行う方法を紹介します。 (2014/10/11)

「」第25回の今回はCapybaraのテストでログイン処理を行う方法を紹介します。
Capybaraでテストする場合、fill_in
やclick_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」を入力してログインした場合のトップページの内容をテストすることができます。