Class: RSpec::Core::Notifications::SummaryNotification
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Struct
|
|
Instance Chain:
self,
::RSpec::Core::ShellEscape ,
Struct
|
|
Inherits: |
Struct
|
Defined in: | rspec-core/lib/rspec/core/notifications.rb, rspec-core/lib/rspec/core/notifications.rb |
Overview
The SummaryNotification
holds information about the results of running a test suite. It is used by formatters to provide information at the end of the test run.
Constant Summary
Instance Attribute Summary
-
#duration
rw
The
SummaryNotification
holds information about the results of running a test suite. -
#errors_outside_of_examples_count
rw
The
SummaryNotification
holds information about the results of running a test suite. -
#examples
rw
The
SummaryNotification
holds information about the results of running a test suite. -
#failed_examples
rw
The
SummaryNotification
holds information about the results of running a test suite. -
#load_time
rw
The
SummaryNotification
holds information about the results of running a test suite. -
#pending_examples
rw
The
SummaryNotification
holds information about the results of running a test suite.
Instance Method Summary
-
#colorized_rerun_commands(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒ String
Formats failures into a rerunable command format.
-
#colorized_totals_line(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒ String
Wraps the results line with colors based on the configured colors for failure, pending, and success.
- #example_count ⇒ Fixnum
- #failure_count ⇒ Fixnum
- #formatted_duration ⇒ String
- #formatted_load_time ⇒ String
- #fully_formatted(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒ String
- #pending_count ⇒ Fixnum
- #totals_line ⇒ String
- #duplicate_rerun_locations private
- #rerun_argument_for(example) private
::RSpec::Core::ShellEscape
- Included
Instance Attribute Details
#duration (rw)
The SummaryNotification
holds information about the results of running a test suite. It is used by formatters to provide information at the end of the test run.
# File 'rspec-core/lib/rspec/core/notifications.rb', line 300
SummaryNotification = Struct.new(:duration, :examples, :failed_examples, :pending_examples, :load_time, :errors_outside_of_examples_count)
#errors_outside_of_examples_count (rw)
The SummaryNotification
holds information about the results of running a test suite. It is used by formatters to provide information at the end of the test run.
# File 'rspec-core/lib/rspec/core/notifications.rb', line 300
SummaryNotification = Struct.new(:duration, :examples, :failed_examples, :pending_examples, :load_time, :errors_outside_of_examples_count)
#examples (rw)
The SummaryNotification
holds information about the results of running a test suite. It is used by formatters to provide information at the end of the test run.
# File 'rspec-core/lib/rspec/core/notifications.rb', line 300
SummaryNotification = Struct.new(:duration, :examples, :failed_examples, :pending_examples, :load_time, :errors_outside_of_examples_count)
#failed_examples (rw)
The SummaryNotification
holds information about the results of running a test suite. It is used by formatters to provide information at the end of the test run.
# File 'rspec-core/lib/rspec/core/notifications.rb', line 300
SummaryNotification = Struct.new(:duration, :examples, :failed_examples, :pending_examples, :load_time, :errors_outside_of_examples_count)
#load_time (rw)
The SummaryNotification
holds information about the results of running a test suite. It is used by formatters to provide information at the end of the test run.
# File 'rspec-core/lib/rspec/core/notifications.rb', line 300
SummaryNotification = Struct.new(:duration, :examples, :failed_examples, :pending_examples, :load_time, :errors_outside_of_examples_count)
#pending_examples (rw)
The SummaryNotification
holds information about the results of running a test suite. It is used by formatters to provide information at the end of the test run.
# File 'rspec-core/lib/rspec/core/notifications.rb', line 300
SummaryNotification = Struct.new(:duration, :examples, :failed_examples, :pending_examples, :load_time, :errors_outside_of_examples_count)
Instance Method Details
#colorized_rerun_commands(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒ String
Formats failures into a rerunable command format.
# 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
#colorized_totals_line(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒ String
Wraps the results line with colors based on the configured colors for failure, pending, and success. Defaults to red, yellow, green accordingly.
# 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
#duplicate_rerun_locations (private)
[ GitHub ]
#example_count ⇒ Fixnum
# File 'rspec-core/lib/rspec/core/notifications.rb', line 306
def example_count @example_count ||= examples.size end
#failure_count ⇒ Fixnum
# File 'rspec-core/lib/rspec/core/notifications.rb', line 312
def failure_count @failure_count ||= failed_examples.size end
#formatted_duration ⇒ String
# File 'rspec-core/lib/rspec/core/notifications.rb', line 374
def formatted_duration Formatters::Helpers.format_duration(duration) end
#formatted_load_time ⇒ String
# File 'rspec-core/lib/rspec/core/notifications.rb', line 380
def formatted_load_time Formatters::Helpers.format_duration(load_time) end
#fully_formatted(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒ String
# 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
#pending_count ⇒ Fixnum
# File 'rspec-core/lib/rspec/core/notifications.rb', line 318
def pending_count @pending_count ||= pending_examples.size end
#rerun_argument_for(example) (private)
[ GitHub ]# File 'rspec-core/lib/rspec/core/notifications.rb', line 402
def rerun_argument_for(example) location = example.location_rerun_argument return location unless duplicate_rerun_locations.include?(location) return location if RSpec.configuration.force_line_number_for_spec_rerun conditionally_quote(example.id) end
#totals_line ⇒ String
# 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