当我运行我的功能,我得到这个错误:
undefined method `visit' for #<Cucumber::Rails::World:0x81b17ac0> (NoMethodError)
这是我的Gemfile的相关部分.
group :development,:test do gem "rspec-rails",">= 2.0.0.beta.19" gem "cucumber" gem "cucumber-rails",">= 0.3.2" gem 'webrat',">= 0.7.2.beta.1" end
相关的step_definition(虽然我不认为这很重要)
When /^I create a movie Caddyshack in the Comendy genre$/ do visit movies_path click_link "Add Movie" fill_in "Title",:with => "Caddyshack" check "Comedy" click_button "Save" end
在env.rb中,我有以下Webrat配置:
# […] require 'webrat' require 'webrat/core/matchers' Webrat.configure do |config| config.mode = :rails config.open_error_files = false # Set to true if you want error pages to pop up in the browser end # […]
我在这里失踪了吗
解决方法
我必须将config.mode设置为:rack而不是:rails:
# […] require 'webrat' require 'webrat/core/matchers' Webrat.configure do |config| config.mode = :rack config.open_error_files = false # Set to true if you want error pages to pop up in the browser end # […]
现在按预期工作.