Rails のテストにおけるログレベルの変更ベストプラクティクス
Railsでは以下の方法でテストのログレベル変更ができるようです。
Rails.logger.level
に動的にレベルを付与するconfig
ファイルでレベルを設定する
基本的にログはテスト結果のコンソールに出さないほうがいいでしょう。
UTの結果をPRに貼る場合に加工しないと見づらくなるためです。
なので config
ファイルでレベルfatal
を設定し、ログ情報を取得するようなテストの場合Rails.logger.level
で変更するのが、ベストだと考えます。
少し詰まった点としてどのconfig
を使用するかはRailsEnv
の変数で決定するようです。
testケースの環境を作りたい場合は、RailsEnv
にtest
を設定してconfig/environments/test.rb
に書けばいいということですね。
また、Rails.logger.level
は場所に関係なく所属するclassのすべてのケースに影響するようです。
これもハマりっぽいので覚えておきます。