class Minitest::Queue::FailureFormatter
Attributes
test[R]
Public Class Methods
new(test)
click to toggle source
Calls superclass method
# File lib/minitest/queue/failure_formatter.rb, line 10 def initialize(test) @test = test super end
Public Instance Methods
to_h()
click to toggle source
# File lib/minitest/queue/failure_formatter.rb, line 23 def to_h test_file, test_line = test.source_location { test_file: test_file, test_line: test_line, test_and_module_name: "#{test.klass}##{test.name}", test_name: test.name, test_suite: test.klass, error_class: test.failure.exception.class.name, output: to_s, } end
to_s()
click to toggle source
# File lib/minitest/queue/failure_formatter.rb, line 15 def to_s [ header, body, "\n" ].flatten.compact.join("\n") end
Private Instance Methods
body()
click to toggle source
# File lib/minitest/queue/failure_formatter.rb, line 54 def body error = test.failure message = if error.is_a?(MiniTest::UnexpectedError) "#{error.exception.class}: #{error.exception.message}" else error.exception.message end backtrace = Minitest.filter_backtrace(error.backtrace).map { |line| ' ' + relativize(line) } [yellow(message), *backtrace].join("\n") end
header()
click to toggle source
# File lib/minitest/queue/failure_formatter.rb, line 40 def header "#{red(status)} #{test.klass}##{test.name}" end
relativize(trace_line)
click to toggle source
# File lib/minitest/queue/failure_formatter.rb, line 66 def relativize(trace_line) trace_line.sub(/\A#{Regexp.escape("#{Dir.pwd}/")}/, '') end
status()
click to toggle source
# File lib/minitest/queue/failure_formatter.rb, line 44 def status if test.error? 'ERROR' elsif test.failure 'FAIL' else raise ArgumentError, "Couldn't infer test status" end end