你怎么在水豚假冒饼干?

时间:2014-05-03 22:32:50

标签: ruby-on-rails cookies capybara session-cookies

我正在测试将安装在子域中的应用程序,以利用主应用程序创建的cookie。除非两个应用程序都在运行,例如:site.local.com我正在测试的应用程序无法访问会话控制器,因此我无法通过典型的登录方法在测试中创建cookie。

所以我的问题是,我怎么 - 在水豚 - 假饼干?我尝试过类似的东西:

it "should ... ", type: :request do
  sign_in(@user)
  ...
end

#sign_in definition:
def sign_in(user) 
  cookies.signed[:auth_token] = user.auth_token
end

问题是怎样的:

 Failure/Error: sign_in(@user)
 NameError:
   undefined local variable or method `cookies' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_2:0x000000090cd998>

1 个答案:

答案 0 :(得分:4)

试试这个:

page.driver.browser.set_cookie("auth_token=#{user.auth_token}")