On Oct 21, 2011, at 11:05 AM, Andrew Premdas wrote: > On 21 October 2011 10:26, Matt Wynne <m...@mattwynne.net> wrote: >> >> On 18 Oct 2011, at 15:02, Jens-Christian Fischer wrote: >> >>> Hi there >>> >>> I have a weird situation. I have inherited a project in Rails 1.2.3 >>> that has been upgraded to Rails 2.3.14 (and is running). I have >>> installed Cucumber and Rspec to start to write features/tests for the >>> new code that needs to be written. In my Gemfile, these Gems are >>> loaded: >>> >>> group :test do >>> gem 'rspec-rails', '~> 1.3.4', :require => 'spec/rails' >>> gem 'rspec', '~> 1.3.2', :require => 'spec' >>> gem "capybara", "0.3.9" >>> gem "cucumber", "0.9.4" >>> gem "cucumber-rails", "0.3.2" >>> gem 'database_cleaner' >>> end >>> >>> When I run the specs (bundle exec spec spec), I get error messages >>> because the plugins of the application aren't loaded. >>> >>> Indeed, if I bundle the gems in "group :test, :development do ", then >>> script/server and script/console fail to start as well because the >>> plugins aren't loaded. >>> >>> Anyone seen this problem or can give me a hint of why the plugins >>> suddenly aren't loaded (and where I should poke to find the cause)? >>> >>> thanks >>> Jens-Christian >> >> My guess is that, because this is an older Rails app, it doesn't use Bundler >> as you'd expect. In a Rails 3 app, your config/application.rb will have >> something like this near the top: >> >> Bundler.require(:default, Rails.env) if defined?(Bundler) >> >> That's the magic that tells Bundler to require all the plugins for the test >> environment when you run the tests. You'll need to stick something like that >> into your Rails 1 app. >> >> One other problem you'll probably hit: Capybara won't work with Rails apps >> that old, so you'll need to use Webrat for integration testing instead. > > The op said the app had been upgraded to 2.3.14 which supports > capybara (has rack). The Rails 2.3.12 that (for my sins) I'm currently > working on has some code near the bottom of config/boot.rb to load > bundler. > > > class Rails::Boot > def run > load_initializer > > Rails::Initializer.class_eval do > def load_gems > @bundler_loaded ||= begin > result = Bundler.require :default > Bundler.require(Rails.env) unless Rails.env.test? > result > end > end > end > > Rails::Initializer.run(:set_load_path) > end > end > > HTH >
If Bundler is the issue, you have to have followed these instructions(probably where the snippet above came from) to get things set up with Rails 2.3 http://gembundler.com/rails23.html -lenny > > All best > > Andrew > >> >> cheers, >> Matt >> >> -- >> Freelance programmer & coach >> Author, http://pragprog.com/book/hwcuc/the-cucumber-book (with Aslak >> Hellesøy) >> Founder, http://relishapp.com >> +44(0)7974430184 | http://twitter.com/mattwynne >> >> _______________________________________________ >> rspec-users mailing list >> rspec-users@rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users >> > > > > -- > ------------------------ > Andrew Premdas > blog.andrew.premdas.org > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users