class Minitest::StatisticsReporter

一个收集测试运行统计数据的报告器。不执行任何 IO 操作,因为其目的是作为执行 IO 操作的报告器的父类。

如果您想创建完全不同类型的输出(例如,CI、HTML 等),这是开始的地方。

示例

class JenkinsCIReporter < StatisticsReporter
  def report
    super  # Needed to calculate some statistics

    print "<testsuite "
    print "tests='#{count}' "
    print "failures='#{failures}' "
    # Remaining XML...
  end
end

属性

assertions[RW]

断言总数。

count[RW]

测试用例总数。

errors[RW]

发生错误的测试总数。

failures[RW]

失败的测试总数。

results[RW]

一个包含失败或跳过的测试用例的 Array

skips[RW]

跳过的测试总数。

start_time[RW]

测试运行开始的时间。 如果可用,则使用单调时钟,这是一个 Float 类型的值,否则它是一个 Time 的实例。

total_time[RW]

Test 运行时间。如果可用,则使用单调时钟,这是一个 Float 类型的值,否则它是一个 Time 的实例。

warnings[RW]

发出警告的测试总数。

公共实例方法

report() 点击切换源代码

报告跟踪的统计信息。

# File minitest-5.25.4/lib/minitest.rb, line 876
def report
  aggregate = results.group_by { |r| r.failure.class }
  aggregate.default = [] # dumb. group_by should provide this

  self.total_time = Minitest.clock_time - start_time
  self.failures   = aggregate[Assertion].size
  self.errors     = aggregate[UnexpectedError].size
  self.warnings   = aggregate[UnexpectedWarning].size
  self.skips      = aggregate[Skip].size
end