For what it's worth, I follow the recipe in the Beta version of The RSpec Book available from http://www.pragprog.com/ as well as watching the cucumber railscasts at railscasts.com. These are great sources of info for configuring and using this stack.
I'm running (ubuntu 9.04):
Ruby version 1.8.7 (i686-linux) RubyGems version 1.3.5 Rack version 1.0 Rails version 2.3.4 Active Record version 2.3.4 Active Resource version 2.3.4 Action Mailer version 2.3.4 Active Support version 2.3.4 Application root /srv/www/lcre Environment development Database adapter mysql
[ ['rspec', false, '>=1.2.9'], ['rspec-rails', false, '>=1.2.9'], ['thoughtbot-factory_girl', 'factory_girl', '>=1.2.2'], ['cucumber', false, '>=0.4.3'], ['pickle', false, '>=0.1.22'], ['webrat', false, '>=0.5.3'], ['Selenium', false, '>=1.1.14'], ['selenium-client', false, '>=1.2.17'], ['rcov', false, '>=0.9.6'], ['mongrel', false, '>=1.1.5'], ['launchy', false, '>=0.3.3'], ].each do | gem, lib, version | unless File.directory?(File.join(Rails.root, 'vendor/plugins/# {gem}')) config.gem gem, :lib => lib, :version => version end end
with all of the gems actually being at the version specified (as opposed to something higher).
env.rb (it's a bit of a hack right now as I'm playing around trying to debug a problem in which Webrat can't find its 'within' method when running in selenium mode):
require 'rubygems' # Sets up the Rails environment for Cucumber ENV["RAILS_ENV"] ||= "test" require File.expand_path(File.dirname(__FILE__) + '/../../config/ environment') require 'cucumber/rails/world'
# If you set this to true, each scenario will run in a database transaction. # You can still turn off transactions on a per-scenario basis, simply tagging # a feature or scenario with the @no-txn tag.