Rails 6 の ActiveRecord を使用した Byebug は、テスト環境で期待どおりにログを記録しません。
テストを実行し、byebug を使用して実行を一時停止すると、ActiveRecord はクエリをコンソールに記録しません。たとえば、次のように入力するCandidate.second
と、SQL 出力が表示されません。
Rails コンソール内の開発環境で同じクエリを実行すると、何が表示されますか?
ActiveRecord と ByeBug の両方のドキュメントを調べましたが、これを解決できないようです。どんな助けでも大歓迎です!
再現する手順
デバッガー ステートメントをコントローラーにスローし、テストを実行します。
byebug を使用すると、ActiveRecord がクエリをコンソールに記録しません。たとえば、コントローラー アクションにヒットするテストを実行する場合:
class JobsController < ApplicationController
# ...
def show
debugger
Candidate.first # arbitrary query
render json: @job
end
end
ターミナルから:
rails test test/controllers/jobs_controller.rb