我的文件/rspec/support/utilities.rb包含方法:
def sign_in(user)
remember_token = User.new_token
cookies.signed["remember_token"] = remember_token
user.update_attribute(:remember_token, User.encrypt(remember_token))
end
但是当我运行测试时,我收到了这个错误:
undefined method `signed' for Rack::Test::CookieJar
所以,我想没有类似"签署"的方法。和"永久"在这个课程中,但我怎样才能对cookie进行测试呢?
答案 0 :(得分:1)
你有这个问题用Capybara标记,所以我不确定你是否试图进行控制器测试(不会使用Capybara)或集成测试(会使用capybara)。如果您正在使用Capybara进行集成测试,则无法像这样设置cookie。您需要转到登录页面,单击“记住我”复选框并登录,然后您可以使用show_me_the_cookies gem(https://github.com/nruth/show_me_the_cookies),它在多个Capybara驱动程序中提供一致的Cookie API,以检查保存在的Cookie中浏览器