モデルのRSpecテストがいくつかあり、Railsサーバーモードで表示されるのと同じようにSQLActiveRecordロギングをオンにしたいと思います。どうやってするか?
私はテストを始めます
RAILS_ENV=test bundle exec rspec my/test_spec.rb
ありがとう
モデルのRSpecテストがいくつかあり、Railsサーバーモードで表示されるのと同じようにSQLActiveRecordロギングをオンにしたいと思います。どうやってするか?
私はテストを始めます
RAILS_ENV=test bundle exec rspec my/test_spec.rb
ありがとう
テストのどこかでActiveRecordロガーをstdoutに設定してみることができます。rspecを使用している場合、おそらくスペックヘルパーで?
ActiveRecord::Base.logger = Logger.new(STDOUT)
デフォルトでは、すべてのデータベースクエリはすでにテストモードでログに記録されます。彼らはになりますlog/test.log
。
セットする
config.log_level = :info
テスト環境で
他の回答があなたのケースで機能しない場合は、テスト環境の「ログレベル」を確認してください。
デフォルトは「debug」で、Railsによって生成されたSQLを出力します。「info」に設定されている場合、SQLは失われます。
あなたのtest.rb
:
Rails.application.configure do
...
config.logger = ActiveSupport::Logger.new(STDOUT)
end