ActionDispatch::ShowExceptionsで行われます。ここで例外が捕捉されることによりエラーページが表示されます。デフォルトの設定のままではこれが無効になっており、エラーページは表示されません。エラー発生時の表示やステータスコードをテストしたい時があります。いう時のために、一時的にActionDispatch::ShowExceptionsでの例外捕捉を有効にし、エラーページをレスポンスできるようにする方法を調べました。4.2.6手っ取り早いコード実行exampleの前後に下記のような処理を行えばOKです。...endどうしてそうなるか、ざっくり説明していきます。Rails::Application::DefaultMiddlewareStackで定義されており、下記のrakeタスクでも確認できます。MyApp::Application.routesこの定義によると、ActionDispatch::ShowExceptionsが外側に、ActionDispatch::DebugExceptionsが内側にスタックされています。前者はexceptions_appによる例外捕捉の仕組みで、後者はデバッグ画面や例外のログ出力などのデバッグを目的とした仕組みです。される際、ハッシュenvが渡されます。このenvにはRails::Application#env_configがあらかじめ結合されて、env_configにはRails.application.configで設定した値が割り当てられます。起動時にセットされます。それ以降はRails.application.configを設定しなおしてもenv_configには反映されないので、テスト実行中に切り替えるにはenv_configを直接設定し直す必要があります。これらの前提をもとに、冒頭のコードに出てきたenv_config['action_dispatch.show_exceptions']とenv_config['action_dispatch.show_detailed_exceptions']について説明します。エラーページ表示条件に関わるconfigたちenv_config['action_dispatch.show_exceptions']ActionDispatch::ShowExceptionsとActionDispatch::DebugExceptionsが例外を捕捉するかどうかを決める値です。元になっている設定はconfig.action_dispatch.show_exceptionsで、これはデフォルトtrueです。ときDebugExceptionsでもShowExceptionsでも例外を捕捉しないenv_config['action_dispatch.show_detailed_exceptions']ActionDispatch::DebugExceptionsがデバッグ用エラーページを表示するかどうかを決める値です。元になっている設定はconfig.consider_all_requests_localで、名前が異なるのと、他の用途でも使われるので注意ですね。ときに有効になりますので、以下はそれが前提の説明です。下記のようになっています。falseだから例外が発生してもエラーページが表示されなかったんですね。テスト実行中の設定の切り替えは、Rails.application.configではなくRails.application.env_configでないと反映されません。trueこのような設定をしていたというわけです。upLoginユーザーは見つかりませんでした。