2012-06-16 10 views
10

Ich benutzte vorher Mysql Datenbank und entschied mich, zu Postgresql zu wechseln und jetzt, wenn ich meine Tests mit rspec durchführe, bekomme ich viele Warnungen und Hinweise.Rspec: Wie können Warnungen und Hinweise unterdrückt werden, wenn Tests ausgeführt werden?

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!" 

Wie kann ich das unterdrücken? Gibt es einen Weg, richtig?

+1

Sind Sie es mit der Flagge Aufruf '--format progress'? vielleicht in Ihrer .rspec Datei? –

+0

Nein, ich habe nur "--colour", "-drb" und "--format d" in meiner .rspec-Datei. –

+0

Siehe: https://github.com/rspec/rspec-rails/issues/58 und erwägen, einen DB Cleaner zu verwenden, wie im Problem vorgeschlagen. –

Antwort

18

Haben Sie gesetzt: config.use_transactional_examples = true zu false und sehen, ob das irgendwas kaputt macht?

+0

Wo müssen wir diese Zeile setzen? Ich habe es in beiden config/environments/test.rb und config/application.rb versucht. Immer noch die Warnmeldungen – Prem

+0

Hey, hab ich. Aktualisiert das in spec/spec_helper.rb Datei – Prem

+0

Endlich habe ich diese hässlichen Nachrichten zu lange betrachtet. Vielen Dank! –

4

Ich hatte config.use_transactional_fixtures = true festgelegt. Dies war der Standardwert (spec_helper generiert mit rails g rspec:install). Ich benutze FactoryGirl anstelle von Fixtures, um diese Einstellung loszuwerden, entfernte Warnungen.

+0

Arbeitete für mich! Vielen Dank! – John

0

Deaktivieren Transaktionen

Wenn Sie es vorziehen, die Daten selbst, oder mit einem anderen Tool wie database_cleaner zu verwalten es für Sie zu tun, einfach RSpec sagen Rails zu sagen, nicht Transaktionen zu verwalten:

RSpec .configure do | config | config.use_transactional_fixtures = false Ende

https://www.relishapp.com/rspec/rspec-rails/docs/transactions

Verwandte Themen