reset_session在黄瓜测试中不起作用

时间:2011-01-13 15:50:18

标签: ruby-on-rails cucumber bdd

我有一个Cucumber场景的以下步骤:

Given /^I am not logged in$/ do
  request.reset_session
  controller.instance_variable_set(:@_current_user, nil)
end

但是当我运行我的Cucumber功能时,我得到了:

undefined method `reset_session' for nil:NilClass (NoMethodError)

我的设置:

  • rails 3.0.3
  • cucumber-rails 0.3.2

1 个答案:

答案 0 :(得分:2)

Cucumber旨在锻炼整个筹码。鉴于此,您通常不希望像rspec那样在较低级别内部使用。

尝试这样的事情:

Given /^I am not logged in$/ do
  visit logout_path
end

此示例使用Capybara的visit方法,因此您需要相应地进行调整,但这应该会给您正确的想法。