10

以前は Mysql データベースを使用していましたが、Postgresql に切り替えることにしました。現在、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!"

どうすればそれを抑えることができますか?方法はありますか?

4

3 に答える 3

18

:config.use_transactional_examples = trueを false に設定して、何か問題が発生するかどうかを確認しましたか?

于 2012-06-17T04:27:00.220 に答える
4

設定していましたconfig.use_transactional_fixtures = true。これはデフォルトでした (spec_helper は で生成されますrails g rspec:install)。フィクスチャの代わりに FactoryGirl を使用しています。この設定を削除すると、警告が削除されます。

于 2012-08-08T20:05:59.477 に答える
0

トランザクションの無効化

自分でデータを管理したい場合、または database_cleaner のような別のツールを使用してデータを管理したい場合は、RSpec に Rails にトランザクションを管理しないように指示するだけです。

RSpec.configure do |config| config.use_transactional_fixtures = false エンド

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

于 2013-01-25T19:28:15.880 に答える