2012-06-16 16 views
10

私は以前にMysqlデータベースを使用していましたが、Postgresqlに切り替えることにしました。そして今、rspecを使ってテストを実行すると、多くの警告と通知があります。Rspec:テスト実行時に警告や通知を抑制する方法は?

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

どうすれば抑制できますか?方法はありますか?

+1

あなたはprogress' --format 'フラグを付けて、それを呼び出していますか?おそらくあなたの.rspecファイルにありますか? –

+0

いいえ、私の.rspecファイルに '--colour'、' --drb'、 '--format d'しかありません。 –

+0

https://github.com/rspec/rspec-rails/issues/58を参照し、この問題で提案されているようにDBクリーナーの使用を検討してください。 –

答えて

18

config.use_transactional_examples = trueをfalseに設定して、何かが壊れていないかどうかを確認しましたか?

+0

この行をどこに置く必要がありますか?私はconfig/environments/test.rbとconfig/application.rbの両方で試しました。まだ警告メッセージが表示されています – Prem

+0

ねえ、それを得ました。 spec/spec_helper.rbファイル – Prem

+0

で更新しました。最後に、あまりにも長い間その醜いメッセージを見てきました。ありがとう! –

4

config.use_transactional_fixtures = trueがありました。これはデフォルトでした(rails g rspec:installで生成されたspec_helper)。私はFactoryGirlを使用していますが、この設定を取り除いて警告を取り除きました。

RSpecの:あなたはデータを自分で管理する、またはあなたのためにそれを行うには database_cleanerのような別のツールを使用したい場合は

+0

私のために働いた!ありがとう! – John

関連する問題