def with_exceptions_app(enabled = true) org_show_detailed_exceptions = Rails.application.env_config['action_dispatch.show_detailed_exceptions'] org_show_exceptions = Rails.application.env_config['action_dispatch.show_exceptions'] # This overrides the cached setting in Rails.application.config.consider_all_requests_local Rails.application.env_config['action_dispatch.show_detailed_exceptions'] = !enabled # Render templates instead of raising exceptions. Rails.application.env_config['action_dispatch.show_exceptions'] = enabled yield ensure Rails.application.env_config['action_dispatch.show_detailed_exceptions'] = org_show_detailed_exceptions Rails.application.env_config['action_dispatch.show_exceptions'] = org_show_exceptions end it "shows an error page" do with_exceptions_app do get '/' end ... end