[rspec-users] Using Cucumber with latest Webrat

Stephen Veit lists at ruby-forum.com
Tue Dec 2 10:25:33 EST 2008


I added cucumber to my rails project using the following commands:

git submodule add git://github.com/aslakhellesoy/cucumber.git \
  vendor/plugins/cucumber
ruby script/generate cucumber
git submodule add git://github.com/brynary/webrat.git \
  vendor/plugins/webrat
git submodule add git://github.com/dchelimsky/rspec.git \
  vendor/plugins/rspec
git submodule add git://github.com/dchelimsky/rspec-rails.git \
  vendor/plugins/rspec-rails
script/generate rspec

I create a feature that used steps that included visits. I got the
following error:

/usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require': no such file to load -- webrat (LoadError)

This occurred at line 4 in webrat_steps.rb

So I commented out that line and added "require 'webrat'" to env.rb

This time I got the following error:

undefined method `visits' for
#<ActionController::Integration::Session:0x7f3d871693d0> (NoMethodError)

So I had to change the require in env.rb to

require 'webrat/rails'

It worked but I got the following deprecation errors:

visits is deprecated. Use visit instead.
fills_in is deprecated. Use fill_in instead.
clicks_button is deprecated. Use click_button instead.

I changed these in my steps file, and it worked fine.



The problem with requiring webrat from webrat_steps, is that when this
line is executed, the $LOAD_PATHS has not been modified to include the
plugin lib directories. That is done by support/env.rb. The rake task
"features" creates a command line that looks like:

-I
"/home/sveit/Projects/rails/varsitytutors/vendor/plugins/cucumber/lib"
"/home/sveit/Projects/rails/varsitytutors/vendor/plugins/cucumber/bin/cucumber"
--format pretty --require features/step_definitions/user_steps.rb
--require features/step_definitions/webrat_steps.rb --require
features/step_definitions/frooble_steps.rb --require
features/support/env.rb features/manage_users.feature

"support/env.rb" is required after "step_definitions/webrat_steps.rb".
this should probably be changed.
-- 
Posted via http://www.ruby-forum.com/.


More information about the rspec-users mailing list