class Minitest::Reporters::SpecReporter

@see gist.github.com/356945 paydro’s monkey-patch
@see github.com/TwP/turn turn
Based upon TwP’s turn (MIT License) and paydro’s monkey-patch.
Turn-like reporter that reads like a spec.

def after_suite(_suite)

def after_suite(_suite)
  puts
end

def before_suite(suite)

def before_suite(suite)
  puts suite
end

def initialize(options = {})

Options Hash: (**options)
  • suppress_inline_failure_output (Boolean) -- whether to suppress the printing of errors
  • print_failure_summary (Boolean) -- whether to print the errors at the bottom of the

Parameters:
  • options (Hash) --
def initialize(options = {})
  super
  @print_failure_summary = options[:print_failure_summary]
  @suppress_inline_failure_output = options[:suppress_inline_failure_output]
end

def print_failure(name, tests)

def print_failure(name, tests)
  puts
  puts name
  tests.each do |test|
    record_print_status(test)
    print_info(test.failure, test.error?)
    puts
  end
end

def record(test)

def record(test)
  super
  record_print_status(test)
  record_print_failures_if_any(test) unless @suppress_inline_failure_output
end

def record_print_failures_if_any(test)

def record_print_failures_if_any(test)
  if !test.skipped? && test.failure
    print_info(test.failure, test.error?)
    puts
  end
end

def record_print_status(test)

def record_print_status(test)
  test_name = test.name.gsub(/^test_: /, 'test:')
  print pad_test(test_name)
  print_colored_status(test)
  print(" (%.2fs)" % test.time) unless test.time.nil?
  puts
end

def report

def report
  super
  if @print_failure_summary
    failed_test_groups = tests.reject { |test| test.failures.empty? }
                              .sort_by { |test| [test_class(test).to_s, test.name] }
                              .group_by { |test| test_class(test).to_s }
    unless failed_test_groups.empty?
      print(red('Failures and errors:'))
      failed_test_groups.each { |name, tests| print_failure(name, tests) }
    end
  end
  puts('Finished in %.5fs' % total_time)
  print('%d tests, %d assertions, ' % [count, assertions])
  color = failures.zero? && errors.zero? ? :green : :red
  print(send(color) { '%d failures, %d errors, ' } % [failures, errors])
  print(yellow { '%d skips' } % skips)
  puts
end

def start

def start
  super
  puts('Started with run options %s' % options[:args])
  puts
end