class RSpec::Core::Notifications::SummaryNotification
Public Instance Methods
@api public
Formats failures into a rerunable command format.
@param colorizer [#wrap] An object which supports wrapping text with
specific colors.
@return [String] A colorized summary line.
# File rspec-core/lib/rspec/core/notifications.rb, line 364 def colorized_rerun_commands(colorizer=::RSpec::Core::Formatters::ConsoleCodes) "\nFailed examples:\n\n" + failed_examples.map do |example| colorizer.wrap("rspec #{rerun_argument_for(example)}", RSpec.configuration.failure_color) + " " + colorizer.wrap("# #{example.full_description}", RSpec.configuration.detail_color) end.join("\n") end
@api public
Wraps the results line with colors based on the configured colors for failure, pending, and success. Defaults to red, yellow, green accordingly.
@param colorizer [#wrap] An object which supports wrapping text with
specific colors.
@return [String] A colorized results line.
# File rspec-core/lib/rspec/core/notifications.rb, line 347 def colorized_totals_line(colorizer=::RSpec::Core::Formatters::ConsoleCodes) if failure_count > 0 || errors_outside_of_examples_count > 0 colorizer.wrap(totals_line, RSpec.configuration.failure_color) elsif pending_count > 0 colorizer.wrap(totals_line, RSpec.configuration.pending_color) else colorizer.wrap(totals_line, RSpec.configuration.success_color) end end
@api @return [Fixnum] the number of examples run
# File rspec-core/lib/rspec/core/notifications.rb, line 306 def example_count @example_count ||= examples.size end
@api @return [Fixnum] the number of failed examples
# File rspec-core/lib/rspec/core/notifications.rb, line 312 def failure_count @failure_count ||= failed_examples.size end
@return [String] a formatted version of the time it took to run the
suite
# File rspec-core/lib/rspec/core/notifications.rb, line 374 def formatted_duration Formatters::Helpers.format_duration(duration) end
@return [String] a formatted version of the time it took to boot RSpec
and load the spec files
# File rspec-core/lib/rspec/core/notifications.rb, line 380 def formatted_load_time Formatters::Helpers.format_duration(load_time) end
@return [String] The summary information fully formatted in the way that
RSpec's built-in formatters emit.
# File rspec-core/lib/rspec/core/notifications.rb, line 386 def fully_formatted(colorizer=::RSpec::Core::Formatters::ConsoleCodes) formatted = "\nFinished in #{formatted_duration} " \ "(files took #{formatted_load_time} to load)\n" \ "#{colorized_totals_line(colorizer)}\n" unless failed_examples.empty? formatted += (colorized_rerun_commands(colorizer) + "\n") end formatted end
@api @return [Fixnum] the number of pending examples
# File rspec-core/lib/rspec/core/notifications.rb, line 318 def pending_count @pending_count ||= pending_examples.size end
@api @return [String] A line summarising the result totals of the spec run.
# File rspec-core/lib/rspec/core/notifications.rb, line 324 def totals_line summary = Formatters::Helpers.pluralize(example_count, "example") + ", " + Formatters::Helpers.pluralize(failure_count, "failure") summary += ", #{pending_count} pending" if pending_count > 0 if errors_outside_of_examples_count > 0 summary += ( ", " + Formatters::Helpers.pluralize(errors_outside_of_examples_count, "error") + " occurred outside of examples" ) end summary end