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:
451 452 453 454 455 456 457 458 459 460 461 462 |
# File 'lib/minitest.rb', line 451 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:
441 442 443 |
# File 'lib/minitest.rb', line 441 def assertions @assertions end |
#count ⇒ Object
Returns the value of attribute count.
442 443 444 |
# File 'lib/minitest.rb', line 442 def count @count end |
#errors ⇒ Object
Returns the value of attribute errors.
447 448 449 |
# File 'lib/minitest.rb', line 447 def errors @errors end |
#failures ⇒ Object
Returns the value of attribute failures.
446 447 448 |
# File 'lib/minitest.rb', line 446 def failures @failures end |
#results ⇒ Object
Returns the value of attribute results.
443 444 445 |
# File 'lib/minitest.rb', line 443 def results @results end |
#skips ⇒ Object
Returns the value of attribute skips.
448 449 450 |
# File 'lib/minitest.rb', line 448 def skips @skips end |
#start_time ⇒ Object
Returns the value of attribute start_time.
444 445 446 |
# File 'lib/minitest.rb', line 444 def start_time @start_time end |
#total_time ⇒ Object
Returns the value of attribute total_time.
445 446 447 |
# File 'lib/minitest.rb', line 445 def total_time @total_time end |
Instance Method Details
#passed? ⇒ Boolean
:nodoc:
464 465 466 |
# File 'lib/minitest.rb', line 464 def passed? # :nodoc: results.all?(&:skipped?) end |
#record(result) ⇒ Object
:nodoc:
472 473 474 475 476 477 |
# File 'lib/minitest.rb', line 472 def record result # :nodoc: self.count += 1 self.assertions += result.assertions results << result if not result.passed? or result.skipped? end |
#report ⇒ Object
:nodoc:
479 480 481 482 483 484 485 486 487 |
# File 'lib/minitest.rb', line 479 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:
468 469 470 |
# File 'lib/minitest.rb', line 468 def start # :nodoc: self.start_time = Time.now end |