[rspec-users] How to stop Rspec loading my Cucumber fixtures
David Chelimsky
dchelimsky at gmail.com
Tue Aug 16 07:49:49 EDT 2011
On Aug 10, 2011, at 4:53 PM, steven_noble wrote:
> I have a bunch of fixtures designed to populate the database for my Cucumber integration tests.
>
> But at this stage I want my database to be empty when using Rspec.
>
> So, I moved the fixtures from `/spec/fixtures` to `features/support/fixtures`, and updated `features/support/env.rb` to read:
>
> Fixtures.reset_cache
> fixtures_folder = File.join(RAILS_ROOT, 'features', 'support', 'fixtures')
> fixtures = Dir[File.join(fixtures_folder, '*.yml')].map {|f| File.basename(f, '.yml') }
> Fixtures.create_fixtures(fixtures_folder, fixtures)
>
> So far so good. Cucumber still loads the fixtures I moved as planned.
>
> But Rspec is still loading them too! This is despite `spec/spec_helper.rb` saying:
>
> config.fixture_path = "#{::Rails.root}/spec/fixtures"
>
> I have tried setting the following in `spec/spec_helper.rb`:
>
> config.use_transactional_fixtures = false
use_transactional_fixtures is a bit misleading: it's a hook from Rails that really means "run each example in a transaction." There is no way to globally turn fixtures on or off - you either declare fixtures (in which case the underlying framework will go look for them) or not (in which case it won't).
> However, it doesn't work. And it wouldn't be a long-term solution anyway, as I may need fixtures in Rspec in the future.
>
> How can I fix this?
How are you running rspec and cucumber?
More information about the rspec-users
mailing list