# app/controllers/foo_controller.rb class FooController < ApplicationController def index puts cookies["key1"] cookies["key1"] = '2' cookies.permanent["key2"] = "3" end end # spec/requests/foo_spec.rb describe "foo周辺の仕様" do def cookies Capybara.current_session.driver.browser.current_session.instance_variable_get(:@rack_mock_session).cookie_jar end it "foo/index" do cookies["key1"] = '1' visit "/foo/index" cookies["key1"].should == '2' cookies["key2"].should == '3' end end上記の検証の過程で、
- cookiesのキー名は文字列でないといけない(シンボルだと上手くいかない)
- cookiesメソッドを上書く必要があり
- permanentでも同じように読める("key2")
ちなみに各プロダクトは下記の組み合わせで確認しました。
rails-3.1.0
rspec-2.6.0
rspec-rails-2.6.1
capybara-1.0.1
0 件のコメント:
コメントを投稿