2011-02-09 132 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在每個場景之後截斷它們。