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:.
Methods inherited from Reporter
Constructor Details
#initialize(io = $stdout, options = {}) ⇒ StatisticsReporter
:startdoc:
588 589 590 591 592 593 594 595 596 597 598 599 |
# File 'lib/minitest.rb', line 588 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:
578 579 580 |
# File 'lib/minitest.rb', line 578 def assertions @assertions end |
#count ⇒ Object
Returns the value of attribute count.
579 580 581 |
# File 'lib/minitest.rb', line 579 def count @count end |
#errors ⇒ Object
Returns the value of attribute errors.
584 585 586 |
# File 'lib/minitest.rb', line 584 def errors @errors end |
#failures ⇒ Object
Returns the value of attribute failures.
583 584 585 |
# File 'lib/minitest.rb', line 583 def failures @failures end |
#results ⇒ Object
Returns the value of attribute results.
580 581 582 |
# File 'lib/minitest.rb', line 580 def results @results end |
#skips ⇒ Object
Returns the value of attribute skips.
585 586 587 |
# File 'lib/minitest.rb', line 585 def skips @skips end |
#start_time ⇒ Object
Returns the value of attribute start_time.
581 582 583 |
# File 'lib/minitest.rb', line 581 def start_time @start_time end |
#total_time ⇒ Object
Returns the value of attribute total_time.
582 583 584 |
# File 'lib/minitest.rb', line 582 def total_time @total_time end |
Instance Method Details
#passed? ⇒ Boolean
:nodoc:
601 602 603 |
# File 'lib/minitest.rb', line 601 def passed? # :nodoc: results.all?(&:skipped?) end |
#record(result) ⇒ Object
:nodoc:
609 610 611 612 613 614 |
# File 'lib/minitest.rb', line 609 def record result # :nodoc: self.count += 1 self.assertions += result.assertions results << result if not result.passed? or result.skipped? end |
#report ⇒ Object
:nodoc:
616 617 618 619 620 621 622 623 624 |
# File 'lib/minitest.rb', line 616 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:
605 606 607 |
# File 'lib/minitest.rb', line 605 def start # :nodoc: self.start_time = Time.now end |