class Minitest::Heat::Results

Attributes

assertion_count[R]
issues[R]
start_time[R]
stop_time[R]
success_count[R]
test_count[R]

Public Class Methods

new() click to toggle source
# File lib/minitest/heat/results.rb, line 14
def initialize
  @test_count = 0
  @assertion_count = 0
  @success_count = 0
  @issues = {
    error: [],
    broken: [],
    failure: [],
    skipped: [],
    slow: []
  }
  @start_time = nil
  @stop_time = nil
end

Public Instance Methods

assertions_per_second() click to toggle source
# File lib/minitest/heat/results.rb, line 48
def assertions_per_second
  (assertion_count / total_time).round(2)
end
brokens() click to toggle source
# File lib/minitest/heat/results.rb, line 60
def brokens
  issues.fetch(:broken) { [] }
end
brokens?() click to toggle source
# File lib/minitest/heat/results.rb, line 84
def brokens?
  brokens.any?
end
errors() click to toggle source
# File lib/minitest/heat/results.rb, line 56
def errors
  issues.fetch(:error) { [] }
end
errors?() click to toggle source
# File lib/minitest/heat/results.rb, line 80
def errors?
  errors.any?
end
failures() click to toggle source
# File lib/minitest/heat/results.rb, line 64
def failures
  issues.fetch(:failure) { [] }
end
failures?() click to toggle source
# File lib/minitest/heat/results.rb, line 88
def failures?
  failures.any?
end
problems?() click to toggle source
# File lib/minitest/heat/results.rb, line 52
def problems?
  errors? || brokens? || failures? || skips?
end
record(issue) click to toggle source
# File lib/minitest/heat/results.rb, line 100
def record(issue)
  @test_count += 1
  @assertion_count += issue.result.assertions
  @success_count += 1 if issue.result.passed?

  @issues[issue.type] ||= []
  @issues[issue.type] << issue
end
skips() click to toggle source
# File lib/minitest/heat/results.rb, line 68
def skips
  issues.fetch(:skipped) { [] }
end
skips?() click to toggle source
# File lib/minitest/heat/results.rb, line 92
def skips?
  skips.any?
end
slows() click to toggle source
# File lib/minitest/heat/results.rb, line 72
def slows
  issues
    .fetch(:slow) { [] }
    .sort { |issue| issue.time }
    .reverse
    .take(3)
end
slows?() click to toggle source
# File lib/minitest/heat/results.rb, line 96
def slows?
  slows.any?
end
start_timer!() click to toggle source
# File lib/minitest/heat/results.rb, line 29
def start_timer!
  @start_time = Minitest.clock_time
end
stop_timer!() click to toggle source
# File lib/minitest/heat/results.rb, line 33
def stop_timer!
  @stop_time = Minitest.clock_time
end
tests_per_second() click to toggle source
# File lib/minitest/heat/results.rb, line 44
def tests_per_second
  (assertion_count / total_time).round(2)
end
total_time() click to toggle source
# File lib/minitest/heat/results.rb, line 37
def total_time
  delta = @stop_time - @start_time

  # Don't return 0
  delta.zero? ? 0.1 : delta
end