Class: RSpec::Core::Notifications::SummaryNotification
- Inherits:
-
Struct
- Object
- Struct
- RSpec::Core::Notifications::SummaryNotification
- Defined in:
- lib/rspec/core/notifications.rb,
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 (collapse)
-
- (Float) duration
the time taken (in seconds) to run the suite.
-
- (Integer) errors_outside_of_examples_count
the number of errors that have occurred processing the spec suite.
-
- (Array<RSpec::Core::Example>) examples
the examples run.
-
- (Array<RSpec::Core::Example>) failed_examples
the failed examples.
-
- (Float) load_time
the number of seconds taken to boot RSpec and load the spec files.
-
- (Array<RSpec::Core::Example>) pending_examples
the pending examples.
Instance Method Summary (collapse)
-
- (String) colorized_rerun_commands(colorizer = ::RSpec::Core::Formatters::ConsoleCodes)
Formats failures into a rerunable command format.
-
- (String) colorized_totals_line(colorizer = ::RSpec::Core::Formatters::ConsoleCodes)
Wraps the results line with colors based on the configured colors for failure, pending, and success.
-
- (Fixnum) example_count
The number of examples run.
-
- (Fixnum) failure_count
The number of failed examples.
-
- (String) formatted_duration
A formatted version of the time it took to run the suite.
-
- (String) formatted_load_time
A formatted version of the time it took to boot RSpec and load the spec files.
-
- (String) fully_formatted(colorizer = ::RSpec::Core::Formatters::ConsoleCodes)
The summary information fully formatted in the way that RSpec's built-in formatters emit.
-
- (Fixnum) pending_count
The number of pending examples.
-
- (String) totals_line
A line summarising the result totals of the spec run.
Instance Attribute Details
- (Float) duration
the time taken (in seconds) to run the suite
293 294 295 |
# File 'lib/rspec/core/notifications.rb', line 293 def duration @duration end |
- (Integer) errors_outside_of_examples_count
the number of errors that have occurred processing the spec suite
293 294 295 |
# File 'lib/rspec/core/notifications.rb', line 293 def errors_outside_of_examples_count @errors_outside_of_examples_count end |
- (Array<RSpec::Core::Example>) examples
the examples run
293 294 295 |
# File 'lib/rspec/core/notifications.rb', line 293 def examples @examples end |
- (Array<RSpec::Core::Example>) failed_examples
the failed examples
293 294 295 |
# File 'lib/rspec/core/notifications.rb', line 293 def failed_examples @failed_examples end |
- (Float) load_time
the number of seconds taken to boot RSpec and load the spec files
293 294 295 |
# File 'lib/rspec/core/notifications.rb', line 293 def load_time @load_time end |
- (Array<RSpec::Core::Example>) pending_examples
the pending examples
293 294 295 |
# File 'lib/rspec/core/notifications.rb', line 293 def pending_examples @pending_examples end |
Instance Method Details
- (String) colorized_rerun_commands(colorizer = ::RSpec::Core::Formatters::ConsoleCodes)
Formats failures into a rerunable command format.
355 356 357 358 359 360 361 |
# File 'lib/rspec/core/notifications.rb', line 355 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 |
- (String) colorized_totals_line(colorizer = ::RSpec::Core::Formatters::ConsoleCodes)
Wraps the results line with colors based on the configured colors for failure, pending, and success. Defaults to red, yellow, green accordingly.
338 339 340 341 342 343 344 345 346 |
# File 'lib/rspec/core/notifications.rb', line 338 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 |
- (Fixnum) example_count
Returns the number of examples run
299 300 301 |
# File 'lib/rspec/core/notifications.rb', line 299 def example_count @example_count ||= examples.size end |
- (Fixnum) failure_count
Returns the number of failed examples
305 306 307 |
# File 'lib/rspec/core/notifications.rb', line 305 def failure_count @failure_count ||= failed_examples.size end |
- (String) formatted_duration
Returns a formatted version of the time it took to run the suite
365 366 367 |
# File 'lib/rspec/core/notifications.rb', line 365 def formatted_duration Formatters::Helpers.format_duration(duration) end |
- (String) formatted_load_time
Returns a formatted version of the time it took to boot RSpec and load the spec files
371 372 373 |
# File 'lib/rspec/core/notifications.rb', line 371 def formatted_load_time Formatters::Helpers.format_duration(load_time) end |
- (String) fully_formatted(colorizer = ::RSpec::Core::Formatters::ConsoleCodes)
Returns The summary information fully formatted in the way that RSpec's built-in formatters emit.
377 378 379 380 381 382 383 384 385 386 387 |
# File 'lib/rspec/core/notifications.rb', line 377 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 |
- (Fixnum) pending_count
Returns the number of pending examples
311 312 313 |
# File 'lib/rspec/core/notifications.rb', line 311 def pending_count @pending_count ||= pending_examples.size end |
- (String) totals_line
Returns A line summarising the result totals of the spec run.
317 318 319 320 321 322 323 324 325 326 327 |
# File 'lib/rspec/core/notifications.rb', line 317 def totals_line summary = Formatters::Helpers.pluralize(example_count, "example") summary << ", " << Formatters::Helpers.pluralize(failure_count, "failure") summary << ", #{pending_count} pending" if pending_count > 0 if errors_outside_of_examples_count > 0 summary << ", " summary << Formatters::Helpers.pluralize(errors_outside_of_examples_count, "error") summary << " occurred outside of examples" end summary end |