# module ActionController::TestCase::RaiseActionExceptions

When the request.remote_addr remains the default for testing, which is 0.0.0.0, the exception is simply raised inline (skipping the regular exception handling from rescue_action). If the request.remote_addr is anything else, the regular rescue_action process takes place. This means you can test your rescue_action code by setting remote_addr to something else than 0.0.0.0.

The exception is stored in the exception accessor for further inspection.

### Public Class Methods

included(base) click to toggle source

    # File lib/action_controller/test_case.rb, line 552
    def self.included(base)
      unless base.method_defined?(:exception) && base.method_defined?(:exception=)
        base.class_eval do
          attr_accessor :exception
          protected :exception, :exception=
        end
      end
    end

### Protected Instance Methods

rescue_action_without_handler(e) click to toggle source
Calls superclass method

    # File lib/action_controller/test_case.rb, line 562
    def rescue_action_without_handler(e)
      self.exception = e

      if request.remote_addr == "0.0.0.0"
        raise(e)
      else
        super(e)
      end
    end