【发布时间】:2017-09-02 11:41:20
【问题描述】:
如何使用Rack::Test 在我的功能测试中关闭 cookie?
【问题讨论】:
标签: ruby-on-rails cookies rspec capybara rack
如何使用Rack::Test 在我的功能测试中关闭 cookie?
【问题讨论】:
标签: ruby-on-rails cookies rspec capybara rack
在使用 Rack::Test 时,没有内置的方法可以禁用 cookie。您可以在测试期间清除它们
page.driver.browser.clear_cookies
这可能会提供您需要的功能。如果没有,您可以在测试运行期间安装中间件,并在每个请求上启用/禁用 cookie 剥离。你可以在https://makandracards.com/makandra/15187-how-to-disable-cookies-in-cucumber-tests 看到一个例子。该示例适用于黄瓜,但应该很容易转换为纯 RSpec。
【讨论】:
page.browser.clear_cookies 返回undefined method 'browser' for #<Capybara::Session>。你的意思可能是Capybara.current_session.driver.browser.clear_cookies
driver 抱歉 - 更新了 - 如果您包含 Capybara::DSL,page 与 Capybara.current_session 相同