Beat my head against the wall with this problem all day yesterday. Not
sure what's going on.

I'm running Radiant 0.8.2 (along with webrat 0.4.4, cucumber 0.3.9)
I'm writing an extension and trying to implement some features. When I
run the features, I get the following error:
(maybe easier to read here - http://pastie.org/1200872)

 undefined method `match' for #<Array:0x7f9f8e2aee98> (NoMethodError)
      
/home/stanr/projects/radiantapp/cms_core/vendor/radiant/vendor/rails/actionpack/lib/action_controller/integration.rb:324:in
`process'
      
/home/stanr/projects/radiantapp/cms_core/vendor/radiant/vendor/rails/actionpack/lib/action_controller/integration.rb:323:in
`each'
      
/home/stanr/projects/radiantapp/cms_core/vendor/radiant/vendor/rails/actionpack/lib/action_controller/integration.rb:323:in
`process'
      
/home/stanr/projects/radiantapp/cms_core/vendor/radiant/vendor/rails/actionpack/lib/action_controller/integration.rb:196:in
`get'
      
/home/stanr/projects/radiantapp/cms_core/vendor/radiant/vendor/rails/actionpack/lib/action_controller/integration.rb:491:in
`__send__'
      
/home/stanr/projects/radiantapp/cms_core/vendor/radiant/vendor/rails/actionpack/lib/action_controller/integration.rb:491:in
`get'
      /usr/lib/ruby/gems/1.8/gems/webrat-0.4.4/lib/webrat/rails.rb:70:in `send'
      /usr/lib/ruby/gems/1.8/gems/webrat-0.4.4/lib/webrat/rails.rb:70:in
`do_request'
      /usr/lib/ruby/gems/1.8/gems/webrat-0.4.4/lib/webrat/rails.rb:35:in `get'
      /usr/lib/ruby/gems/1.8/gems/webrat-0.4.4/lib/webrat/core/session.rb:106:in
`send'
      /usr/lib/ruby/gems/1.8/gems/webrat-0.4.4/lib/webrat/core/session.rb:106:in
`request_page'
      /usr/lib/ruby/gems/1.8/gems/webrat-0.4.4/lib/webrat/core/session.rb:205:in
`visit'
      (eval):2:in `visit'
      
/home/stanr/projects/radiantapp/cms_core/vendor/extensions/ip_redirect/features/step_definitions/customer_comes_to_us_helios_steps.rb:18
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/core_ext/instance_exec.rb:20:in
`instance_exec'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/core_ext/instance_exec.rb:20:in
`cucumber_instance_exec'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/core_ext/instance_exec.rb:38:in
`cucumber_run_with_backtrace_filtering'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/core_ext/instance_exec.rb:10:in
`cucumber_instance_exec'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/step_definition.rb:105:in
`invoke'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/step_match.rb:12:in
`invoke'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/step_invocation.rb:36:in
`invoke'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/step_invocation.rb:22:in
`accept'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/visitor.rb:74:in
`visit_step'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/formatter/pretty.rb:128:in
`visit_step'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/step_collection.rb:14:in
`accept'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/step_collection.rb:13:in
`each'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/step_collection.rb:13:in
`accept'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/visitor.rb:70:in
`visit_steps'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/scenario.rb:31:in
`accept'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/step_mother.rb:249:in
`before_and_after'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/scenario.rb:30:in
`accept'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/visitor.rb:45:in
`visit_feature_element'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/formatter/pretty.rb:80:in
`visit_feature_element'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/feature.rb:23:in
`accept'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/feature.rb:22:in
`each'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/feature.rb:22:in
`accept'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/visitor.rb:23:in
`visit_feature'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/formatter/pretty.rb:41:in
`visit_feature'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/features.rb:24:in
`accept'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/features.rb:23:in
`each'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/features.rb:23:in
`accept'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/ast/visitor.rb:19:in
`visit_features'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/formatter/pretty.rb:26:in
`visit_features'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/broadcaster.rb:9:in
`__send__'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/broadcaster.rb:9:in
`method_missing'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/broadcaster.rb:8:in
`map'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/broadcaster.rb:8:in
`method_missing'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/cli/main.rb:45:in
`execute!'
      
/usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/../lib/cucumber/cli/main.rb:24:in
`execute'
      /usr/lib/ruby/gems/1.8/gems/cucumber-0.3.9/bin/cucumber:9
      features/potential_customer_comes_to_us_helios_site.feature:42:in
`When I go to the homepage'

I've tried changing my config mode in env.rb to :rack, but that won't
allow me to set the headers (need to set the remote_addr). I've tried
umpteen different combinations in the env.rb and it just doesn't seem
to help. I can never get my test to run without an error in the step
definitions.

The step definition that fails is:

When /^I go to the homepage$/ do
  visit root_path
end


My env.rb is:

ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) +
'/../../../../../config/environment')

require 'cucumber/rails/world'
require 'cucumber/formatter/unicode' # Comment out this line if you
don't want Cucumber Unicode support
require 'webrat'

Webrat.configure do |config|
  config.mode = :rails
end

require 'dataset'

require 'cucumber/rails/rspec'
require 'webrat/core/matchers'


Cucumber::Rails::World.class_eval do
  include Webrat::Methods
  include Webrat::Matchers

  include Dataset
  datasets_directory "#{RADIANT_ROOT}/spec/datasets"
  self.datasets_database_dump_path = "#{Rails.root}/tmp/dataset"

  dataset :config
end


You can see the code in pastie at http://pastie.org/1200872.

Your help is GREATLY appreciated.

Reply via email to