Module: Test::Unit::ExceptionHandler::ClassMethods (Ruby 2.7.5)
Description: Module : Test::Unit::ExceptionHandler::ClassMethods - Ruby 2.7.5

### Home Classes Methods

### In Files

- test-unit-3.3.4/lib/test/unit/exception-handler.rb

### Methods

- #exception_handler
- #exception_handlers
- #unregister_exception_handler

### Class/Module Index

Quicksearch

- Object
- Test
- Test::Unit
- Test::Unit::AssertionFailedError
- Test::Unit::Assertions
- Test::Unit::Assertions::AssertExceptionHelper
- Test::Unit::Assertions::AssertExceptionHelper::WrappedException
- Test::Unit::Assertions::AssertionMessage
- Test::Unit::Assertions::AssertionMessage::ArrayInspector
- Test::Unit::Assertions::AssertionMessage::DelayedLiteral
- Test::Unit::Assertions::AssertionMessage::HashInspector
- Test::Unit::Assertions::AssertionMessage::Inspector
- Test::Unit::Assertions::AssertionMessage::Literal
- Test::Unit::Assertions::AssertionMessage::MaybeContainer
- Test::Unit::Assertions::AssertionMessage::NumericInspector
- Test::Unit::Assertions::AssertionMessage::Template
- Test::Unit::Assertions::ThrowTagExtractor
- Test::Unit::Attribute
- Test::Unit::Attribute::BaseClassMethods
- Test::Unit::Attribute::ClassMethods
- Test::Unit::Attribute::StringifyKeyHash
- Test::Unit::AttributeMatcher
- Test::Unit::AutoRunner
- Test::Unit::AutoRunner::StopOnFailureListener
- Test::Unit::AutoRunnerLoader
- Test::Unit::CodeSnippetFetcher
- Test::Unit::Collector
- Test::Unit::Collector::Descendant
- Test::Unit::Collector::Dir
- Test::Unit::Collector::Load
- Test::Unit::Collector::ObjectSpace
- Test::Unit::Collector::XML
- Test::Unit::Collector::XML::Listener
- Test::Unit::Color
- Test::Unit::Color::Error
- Test::Unit::Color::ParseError
- Test::Unit::ColorScheme
- Test::Unit::Data
- Test::Unit::Data::ClassMethods
- Test::Unit::Data::ClassMethods::Loader
- Test::Unit::DataSets
- Test::Unit::Diff
- Test::Unit::Diff::Differ
- Test::Unit::Diff::ReadableDiffer
- Test::Unit::Diff::SequenceMatcher
- Test::Unit::Diff::UTF8Line
- Test::Unit::Diff::UnifiedDiffer
- Test::Unit::Error
- Test::Unit::ErrorHandler
- Test::Unit::ExceptionHandler
- Test::Unit::ExceptionHandler::ClassMethods
- Test::Unit::Failure
- Test::Unit::FailureHandler
- Test::Unit::FaultLocationDetector
- Test::Unit::Fixture
- Test::Unit::Fixture::ClassMethods
- Test::Unit::Fixture::Fixture
- Test::Unit::Fixture::HookPoint
- Test::Unit::MixColor
- Test::Unit::Notification
- Test::Unit::NotificationHandler
- Test::Unit::NotifiedError
- Test::Unit::NullResultContainerInitializer
- Test::Unit::Omission
- Test::Unit::OmissionHandler
- Test::Unit::OmittedError
- Test::Unit::PendedError
- Test::Unit::Pending
- Test::Unit::PendingHandler
- Test::Unit::Priority
- Test::Unit::Priority::Checker
- Test::Unit::Priority::ClassMethods
- Test::Unit::TestCase
- Test::Unit::TestCase::InternalData
- Test::Unit::TestCaseNotificationSupport
- Test::Unit::TestCaseOmissionSupport
- Test::Unit::TestCasePendingSupport
- Test::Unit::TestResult
- Test::Unit::TestResultErrorSupport
- Test::Unit::TestResultFailureSupport
- Test::Unit::TestResultNotificationSupport
- Test::Unit::TestResultOmissionSupport
- Test::Unit::TestResultPendingSupport
- Test::Unit::TestSuite
- Test::Unit::UI
- Test::Unit::UI::Console
- Test::Unit::UI::Console::ColorizedReadableDiffer
- Test::Unit::UI::Console::OutputLevel
- Test::Unit::UI::Console::TestRunner
- Test::Unit::UI::Emacs
- Test::Unit::UI::Emacs::TestRunner
- Test::Unit::UI::TestRunner
- Test::Unit::UI::TestRunnerMediator
- Test::Unit::UI::TestRunnerUtilities
- Test::Unit::UI::XML
- Test::Unit::UI::XML::TestRunner
- Test::Unit::Util
- Test::Unit::Util::BacktraceFilter
- Test::Unit::Util::MethodOwnerFinder
- Test::Unit::Util::Observable
- Test::Unit::Util::Output
- Test::Unit::Util::ProcWrapper

No matching classes.

# Test::Unit::ExceptionHandler::ClassMethods

### Public Instance Methods

exception_handler(*method_name_or_handlers, &block) click to toggle source

@overload `exception_handler`(method_name)

    Add an exception handler method.

    @param method_name [Symbol]
       The method name that handles exception raised in tests.
    @return [void]

@overload `exception_handler`(&callback)

    Add an exception handler.

    @yield [test, exception]
      Gives the test and the exception.
    @yieldparam test [Test::Unit::TestCase]
       The test where the exception is raised.
    @yieldparam exception [Exception]
       The exception that is raised in running the test.
    @yieldreturn [Boolean]
       Whether the handler handles the exception or not.
       The handler must return _true_ if the handler handles
       test exception, _false_ otherwise.
    @return [void]

This is a public API for developers who extend test-unit.

                   # File test-unit-3.3.4/lib/test/unit/exception-handler.rb, line 52
    def exception_handler(*method_name_or_handlers, &block)
      if block_given?
        exception_handlers.unshift(block)
      else
        method_name_or_handlers.each do |method_name_or_handler|
          if method_name_or_handler.respond_to?(:call)
            handler = method_name_or_handler
            exception_handlers.unshift(handler)
          else
            method_name = method_name_or_handler
            attribute(:exception_handler, true, {}, method_name)
          end
        end
      end
    end

exception_handlers() click to toggle source

                   # File test-unit-3.3.4/lib/test/unit/exception-handler.rb, line 25
    def exception_handlers
      ExceptionHandler.exception_handlers
    end

unregister_exception_handler(*method_name_or_handlers) click to toggle source

                   # File test-unit-3.3.4/lib/test/unit/exception-handler.rb, line 68
    def unregister_exception_handler(*method_name_or_handlers)
      method_name_or_handlers.each do |method_name_or_handler|
        if method_name_or_handler.respond_to?(:call)
          handler = method_name_or_handler
          exception_handlers.delete(handler)
        else
          method_name = method_name_or_handler
          attribute(:exception_handler, false, {}, method_name)
        end
      end
    end