module Test::Unit::FailureHandler
Public Class Methods
included(base)
click to toggle source
# File lib/test/unit/failure.rb, line 81 def included(base) base.exception_handler(:handle_assertion_failed_error) end
Public Instance Methods
add_failure(message, backtrace, options={})
click to toggle source
Report a failure.
This is a public API for developers who extend test-unit.
@param message [String] The description about the failure. @param backtrace [Array<String>] The backtrace for the failure. @option options [Object] :expected
The expected value of the assertion.
@option options [Object] :actual
The actual value of the assertion.
@option options [String] :inspected_expected
The inspected expected value of the assertion. It is used for diff between expected and actual of the failure.
@option options [String] :inspected_actual
The inspected actual value of the assertion. It is used for diff between expected and actual of the failure.
@option options [String] :user_message
The message of the assertion from user.
@option options [String] :method_name (@method_name)
The method name of the test.
@option options [Array<String, Integer>] :source_location
The location where the test is defined. It is the same format as Proc#source_location. That is, it's an array of path and and line number where the test definition is started.
@return [void]
# File lib/test/unit/failure.rb, line 112 def add_failure(message, backtrace, options={}) default_options = { :method_name => @method_name, :source_location => self[:source_location], } failure = Failure.new(name, filter_backtrace(backtrace), message, default_options.merge(options)) current_result.add_failure(failure) end
Private Instance Methods
handle_assertion_failed_error(exception)
click to toggle source
# File lib/test/unit/failure.rb, line 123 def handle_assertion_failed_error(exception) return false unless exception.is_a?(AssertionFailedError) problem_occurred add_failure(exception.message, exception.backtrace, :expected => exception.expected, :actual => exception.actual, :inspected_expected => exception.inspected_expected, :inspected_actual => exception.inspected_actual, :user_message => exception.user_message) true end