Class: Minitest::StatisticsReporter
- Inherits:
-
Reporter
- Object
- AbstractReporter
- Reporter
- Minitest::StatisticsReporter
- Defined in:
- lib/minitest.rb
Overview
A reporter that gathers statistics about a test run. Does not do any IO because meant to be used as a parent class for a reporter that does.
If you want to create an entirely different type of output (eg, CI, HTML, etc), this is the place to start.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#assertions ⇒ Object
:stopdoc:.
-
#count ⇒ Object
Returns the value of attribute count.
-
#errors ⇒ Object
Returns the value of attribute errors.
-
#failures ⇒ Object
Returns the value of attribute failures.
-
#results ⇒ Object
Returns the value of attribute results.
-
#skips ⇒ Object
Returns the value of attribute skips.
-
#start_time ⇒ Object
Returns the value of attribute start_time.
-
#total_time ⇒ Object
Returns the value of attribute total_time.
Attributes inherited from Reporter
Instance Method Summary collapse
-
#initialize(io = $stdout, options = {}) ⇒ StatisticsReporter
constructor
:startdoc:.
-
#passed? ⇒ Boolean
:nodoc:.
-
#record(result) ⇒ Object
:nodoc:.
-
#report ⇒ Object
:nodoc:.
-
#start ⇒ Object
:nodoc:.
Constructor Details
#initialize(io = $stdout, options = {}) ⇒ StatisticsReporter
:startdoc:
478 479 480 481 482 483 484 485 486 487 488 489 |
# File 'lib/minitest.rb', line 478 def initialize io = $stdout, = {} # :nodoc: super self.assertions = 0 self.count = 0 self.results = [] self.start_time = nil self.total_time = nil self.failures = nil self.errors = nil self.skips = nil end |
Instance Attribute Details
#assertions ⇒ Object
:stopdoc:
468 469 470 |
# File 'lib/minitest.rb', line 468 def assertions @assertions end |
#count ⇒ Object
Returns the value of attribute count.
469 470 471 |
# File 'lib/minitest.rb', line 469 def count @count end |
#errors ⇒ Object
Returns the value of attribute errors.
474 475 476 |
# File 'lib/minitest.rb', line 474 def errors @errors end |
#failures ⇒ Object
Returns the value of attribute failures.
473 474 475 |
# File 'lib/minitest.rb', line 473 def failures @failures end |
#results ⇒ Object
Returns the value of attribute results.
470 471 472 |
# File 'lib/minitest.rb', line 470 def results @results end |
#skips ⇒ Object
Returns the value of attribute skips.
475 476 477 |
# File 'lib/minitest.rb', line 475 def skips @skips end |
#start_time ⇒ Object
Returns the value of attribute start_time.
471 472 473 |
# File 'lib/minitest.rb', line 471 def start_time @start_time end |
#total_time ⇒ Object
Returns the value of attribute total_time.
472 473 474 |
# File 'lib/minitest.rb', line 472 def total_time @total_time end |
Instance Method Details
#passed? ⇒ Boolean
:nodoc:
491 492 493 |
# File 'lib/minitest.rb', line 491 def passed? # :nodoc: results.all?(&:skipped?) end |
#record(result) ⇒ Object
:nodoc:
499 500 501 502 503 504 |
# File 'lib/minitest.rb', line 499 def record result # :nodoc: self.count += 1 self.assertions += result.assertions results << result if not result.passed? or result.skipped? end |
#report ⇒ Object
:nodoc:
506 507 508 509 510 511 512 513 514 |
# File 'lib/minitest.rb', line 506 def report # :nodoc: aggregate = results.group_by { |r| r.failure.class } aggregate.default = [] # dumb. group_by should provide this self.total_time = Time.now - start_time self.failures = aggregate[Assertion].size self.errors = aggregate[UnexpectedError].size self.skips = aggregate[Skip].size end |
#start ⇒ Object
:nodoc:
495 496 497 |
# File 'lib/minitest.rb', line 495 def start # :nodoc: self.start_time = Time.now end |