[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 \
ruby script/generate cucumber
git submodule add git://github.com/brynary/webrat.git \
git submodule add git://github.com/dchelimsky/rspec.git \
git submodule add git://github.com/dchelimsky/rspec-rails.git \
script/generate rspec

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

`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:

--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