class FlakeySpecCatcher::RspecResultManager
RspecResultManager
class
Holds a collection of RSpec results and provides helper methods
An RspecResultManager
will hold a collection of results, one for each distinct example. It also provides helpers for adding new results, displaying aggregate results, and checking the state of the collection.
Public Class Methods
new(rspec_result_class)
click to toggle source
# File lib/flakey_spec_catcher/rspec_result_manager.rb, line 15 def initialize(rspec_result_class) @result_class = rspec_result_class @results = [] end
Public Instance Methods
add_result(desc, location, message = nil)
click to toggle source
# File lib/flakey_spec_catcher/rspec_result_manager.rb, line 20 def add_result(desc, location, message = nil) result = @results.find { |r| r.location == location } result ? result.add_run(message) : @results.push(@result_class.new(desc, location, message)) end
empty?()
click to toggle source
# File lib/flakey_spec_catcher/rspec_result_manager.rb, line 39 def empty? @results.empty? end
failures()
click to toggle source
# File lib/flakey_spec_catcher/rspec_result_manager.rb, line 31 def failures @results.select { |r| r.total_failures.positive? } end
print_results()
click to toggle source
# File lib/flakey_spec_catcher/rspec_result_manager.rb, line 25 def print_results puts "\n********** SUMMARY **********" print_successes_count(successes) failures.each(&:print_results) if failures.any? end
successes()
click to toggle source
# File lib/flakey_spec_catcher/rspec_result_manager.rb, line 35 def successes @results.select { |r| r.total_failures.zero? } end
Private Instance Methods
print_successes_count(successes)
click to toggle source
# File lib/flakey_spec_catcher/rspec_result_manager.rb, line 45 def print_successes_count(successes) return unless successes.any? rerun_count = successes.first.total_times_run msg = "#{successes.count} example(s) ran #{rerun_count} times without any failures" puts msg.green successes.each { |s| puts " - #{s.location}".green } end