[rspec-users] rspec 1.3.2, Rails 2.3.14 - plugins not loading

Matt Wynne matt at mattwynne.net
Fri Oct 21 05:26:10 EDT 2011


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.

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



More information about the rspec-users mailing list