2013-02-14 12 views
6

sadece özelliği kesme kullanarak test eder: kesme Kapibara testi için kullanırken:Raylar RSpec Capybara ve DatabaseCleaner - Sadece Veritabanı temizleyicileri kullanmak için bu serin yöntemi gördü

config.before(:each) do 
    DatabaseCleaner.strategy = if example.metadata[:js] 
    :truncation 
    else 
    :transaction 
    end 
    DatabaseCleaner.start 
end 

config.after(:each) do 
    DatabaseCleaner.clean 
end 
: spec_helper.rb olarak js => true

Sorun şu ki, capybara ile yapılan herhangi bir özellik testi temizlik stratejisine ihtiyaç duyuyor gibi görünüyor: kesilme.

Diğer tüm özellikler, şunlarla uyumludur: işlem, önemli ölçüde daha hızlıdır.

Sadece capibara özellik testleri için bir strateji belirleme yolu var mı? gibi bir şey: Bu yapmalıyım

DataCleaner.strategy(:truncation) if :type => :feature 
+1

bildirin ama soru bana çok faydalı oldu! 'Eğer JS kesmeyi kullanıyorsa' bloğunu kullanıyorum ve mükemmel çalışıyor! Teşekkürler! –

+1

Yardım etmekten memnun oldum. Bununla uğraştığım saatlerin sayısı eğlenceli değildi. – Squadrons

cevap

2

kabul ettim cevabı gerek yoktu bana

config.after(:all, :type => :feature) do 
    DatabaseCleaner.clean_with :truncation 
end 
+0

auch test çalıştırmasından sonra veritabanını temizlemek istemez miydiniz? – rubiii

+0

'config.before (: suite,: type =>: feature) 'ile denedim, ama şansım olmadı,' DatabaseCleaner.strategy =: truncation' her zaman çalışıyor: / –

İlgili konular