2011-02-09 111 views
0

如果我使用rake cucumber夹具未加载,我的测试失败。如果我使用cucumber --tag @tagname来运行一个场景,它会加载灯具,工厂和其他所有东西。耙黄瓜和黄瓜--tag @tagname给出不同的结果

/features/support/env.rb的底部看起来是这样的:

Cucumber::Rails::World.use_transactional_fixtures = true 
Fixtures.reset_cache 
fixtures_folder = File.join(RAILS_ROOT, 'spec', 'fixtures') 
fixtures = Dir[File.join(fixtures_folder, '*.yml')].map {|f| File.basename(f, '.yml') } 
Fixtures.create_fixtures(fixtures_folder, fixtures) 

if defined?(ActiveRecord::Base) 
    begin 
    require 'database_cleaner' 
    DatabaseCleaner.strategy = :truncation 
    rescue LoadError => ignore_if_database_cleaner_not_present 
    end 
end 

一切是相当标准的Rails 3

回答

0

我不得不改变这一行:

DatabaseCleaner.strategy = :truncation, {:except => %w[degrees states_provinces contribution_types manuscript_types statuses countries roles user_templates]} 

我所需要的所有的为测试加载的那些表通过,但DatabaseCleaner在每个场景之后截断它们。