web-dev-qa-db-ja.com

RSpecテストでActiveRecordのSQLデバッグログを有効にするにはどうすればよいですか?

モデルにいくつかのRSpecテストがあり、Railsサーバーモードで表示されるように、SQL ActiveRecordのログを有効にしたいと思います。

私はテストを開始します

Rails_ENV=test bundle exec rspec my/test_spec.rb

ありがとう

84
lzap

デフォルトでは、すべてのdbクエリはすでにテストモードで記録されます。 log/test.log

50
idlefingers

テストのどこかでActiveRecordロガーを標準出力に設定してみてください。 rspecを使用している場合は、おそらく仕様ヘルパーにありますか?

ActiveRecord::Base.logger = Logger.new(STDOUT)
300
George

セットする

config.log_level = :info 

テスト環境で

9
Nicolai

他の回答があなたのケースで機能しない場合は、テスト環境の「ログレベル」を確認してください。

デフォルトは 'debug'で、Railsが生成したSQLを出力します。 「info」に設定されている場合、SQLは欠落します。