2

Rails 6 の ActiveRecord を使用した Byebug は、テスト環境で期待どおりにログを記録しません。

テストを実行し、byebug を使用して実行を一時停止すると、ActiveRecord はクエリをコンソールに記録しません。たとえば、次のように入力するCandidate.secondと、SQL 出力が表示されません。

Candidate.second を実行しても出力が表示されない

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

4

1 に答える 1