LoginSignup
13
10

More than 5 years have passed since last update.

rspecでcookieを参照、設定する

Last updated at Posted at 2014-01-16

Railsでcookieの値で挙動を変えているとき(A/Bテストなど)に
rspecでcookieの値を指定したいことがあります。

環境はCapybara + PhantomJS(poltergeist)の場合

#参照するとき
page.driver.cookies
#設定するとき
page.driver.set_cookie(名前, )

のようにすればいけるようです。
既に設定している場合は、いったん消してあげてから設定するとうまくいきます

#いったん削除
page.driver.remove_cookie(名前)
#設定
page.driver.set_cookie(名前, )

これで以上なんですが、調べるときにわざわざpry使ってデバッグしてたので
どうやるのが効率がいいんでしょうかねぇ

stackoverflowを見たんですが、環境によってテストに使ってるドライバが
違うことが多いので、必ずしもpage.driverの値が一致するとは限らないですよね

Railsのloginヘルパの前後にbinding.pryを書いて

pry> page.driver
=> #<Capybara::Poltergeist::Driver

って出たんで
Capybara::Poltergeist::Driverのリファレンス見て
あ!set_cookieがある。remove_cookieがあるって気づいた.

使ってるライブラリのリファレンスくらい見ろよって話ですけどね。

13
10
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
13
10