2011-02-09 19 views
0

rake cucumberを使用すると、フィクスチャがロードされず、テストが失敗します。シナリオを実行するのにcucumber --tag @tagnameを使用すると、治具や工場がロードされ、すべてがパスします。rake cucumberとcucumber --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は各シナリオの後にそれらを切り捨てました。

関連する問題