Index: actionpack/lib/action_controller/assertions/response_assertions.rb =================================================================== --- actionpack/lib/action_controller/assertions/response_assertions.rb (revision 8975) +++ actionpack/lib/action_controller/assertions/response_assertions.rb (working copy) @@ -33,8 +33,8 @@ elsif type.is_a?(Symbol) && @response.response_code == ActionController::StatusCodes::SYMBOL_TO_STATUS_CODE[type] assert_block("") { true } # to count the assertion else - if @response.error? - assert_block(build_message(message, "Expected response to be a , but was \n", type, @response.response_code, @response.template.instance_variable_get(:@exception).message)) { false } + if @response.error? && exception = @response.template.instance_variable_get(:@exception) + assert_block(build_message(message, "Expected response to be a , but was \n", type, @response.response_code, exception.message)) { false } else assert_block(build_message(message, "Expected response to be a , but was ", type, @response.response_code)) { false } end