2012-06-16 13 views
10

Daha önce Mysql veritabanı kullanıyordum ve Postgresql'e geçmeye karar verdim ve şimdi rspec kullanarak testlerimi çalıştırdığımda çok fazla uyarı ve uyarı alıyorum.Rspec: Testler çalışırken uyarıları ve bildirimleri nasıl bastırırız?

WARNING: there is already a transaction in progress 
NOTICE: there is no transaction in progress 
     should has link "Suspender" 
WARNING: there is already a transaction in progress 
NOTICE: there is no transaction in progress 
     should has css "title" with text "Suspensão de anúncio" 
WARNING: there is already a transaction in progress 
NOTICE: there is no transaction in progress 
     should has css "h1" with text "Awesome job!" 

Bunu nasıl önleyebilirim? Bir yolu var mı?

+1

sen progress' --format 'bayrağıyla bu diyorsun? belki senin .rspec dosyasında? –

+0

Hayır .rspec dosyasında sadece '--colour', 'ddb' ve '--format d' var. –

+0

Bakınız: https://github.com/rspec/rspec-rails/issues/58 ve bu konuda önerilen bir DB temizleyici kullanmayı düşünün. –

cevap

18

Aşağıdakileri ayarladınız: config.use_transactional_examples = true false ve bunun herhangi bir şeyi bozup bozmadığını görmek için?

+0

Bu satırı nereye koymamız gerekiyor? Ben config/environments/test.rb ve config/application.rb denedim. Hala uyarı mesajlarını aldım – Prem

+0

Hey, Anladım. Bu spec/spec_helper.rb dosyasında – Prem

+0

olarak güncellendi. Son olarak, bu çirkin iletilere çok uzun süre bakıyordu. Teşekkürler! –

4

config.use_transactional_fixtures = true setini kullanmıştım. Bu varsayılan değerdi (rails g rspec:install ile spec_helper üretildi). Ben fikstür yerine FactoryGirl kullanıyorum, bu ayardan kaldırıldı uyarıları kurtulmak.

RSpec: Eğer verileri kendiniz yönetmek veya sizin için bunu yapmak için database_cleaner gibi başka bir araç kullanılarak tercih ederseniz

+0

Benim için çalıştı! Teşekkürler! – John