2015年4月14日火曜日

capybaraのテストでセットされたcookieを取得する

capybaraでテストを書いていて、独自にセットしたcookieが
ちゃんとセットされたかをテストしたかったのでcookieの取得方法を調べました。

cookieはこれで取れるようです。
Capybara.current_session.driver.request.cookies.[]('cookie名')

こんな感じのテストコードを書きました。
it 'ログイン' do
  visit '/login'
  fill_in 'email', with: 'aaa@bbb.com.ne'
  fill_in 'password', with: '1234567890'
  click_on 'Login'
 
  expect(page.driver.status_code).to eq(200)
  expect(Capybara.current_session.driver.request.cookies.[]('login_token')).not_to eq(nil)
 
  # 確認用
  # puts Capybara.current_session.driver.request.cookies.[]('login_token')
end


参考URL
http://stackoverflow.com/questions/19325960/rails-cucumber-capybara-how-to-set-retrieve-cookies-in-tests

0 件のコメント:

コメントを投稿