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:
508 509 510 511 512 513 514 515 516 517 518 519 |
# File 'lib/minitest.rb', line 508 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:
498 499 500 |
# File 'lib/minitest.rb', line 498 def assertions @assertions end |
#count ⇒ Object
Returns the value of attribute count.
499 500 501 |
# File 'lib/minitest.rb', line 499 def count @count end |
#errors ⇒ Object
Returns the value of attribute errors.
504 505 506 |
# File 'lib/minitest.rb', line 504 def errors @errors end |
#failures ⇒ Object
Returns the value of attribute failures.
503 504 505 |
# File 'lib/minitest.rb', line 503 def failures @failures end |
#results ⇒ Object
Returns the value of attribute results.
500 501 502 |
# File 'lib/minitest.rb', line 500 def results @results end |
#skips ⇒ Object
Returns the value of attribute skips.
505 506 507 |
# File 'lib/minitest.rb', line 505 def skips @skips end |
#start_time ⇒ Object
Returns the value of attribute start_time.
501 502 503 |
# File 'lib/minitest.rb', line 501 def start_time @start_time end |
#total_time ⇒ Object
Returns the value of attribute total_time.
502 503 504 |
# File 'lib/minitest.rb', line 502 def total_time @total_time end |
Instance Method Details
#passed? ⇒ Boolean
:nodoc:
521 522 523 |
# File 'lib/minitest.rb', line 521 def passed? # :nodoc: results.all?(&:skipped?) end |
#record(result) ⇒ Object
:nodoc:
529 530 531 532 533 534 |
# File 'lib/minitest.rb', line 529 def record result # :nodoc: self.count += 1 self.assertions += result.assertions results << result if not result.passed? or result.skipped? end |
#report ⇒ Object
:nodoc:
536 537 538 539 540 541 542 543 544 |
# File 'lib/minitest.rb', line 536 def report # :nodoc: 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.skips = aggregate[Skip].size end |
#start ⇒ Object
:nodoc:
525 526 527 |
# File 'lib/minitest.rb', line 525 def start # :nodoc: self.start_time = Minitest.clock_time end |