Class: RSpec::Core::Formatters::BaseFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/core/formatters/base_formatter.rb

Overview

RSpec's built-in formatters are all subclasses of RSpec::Core::Formatters::BaseTextFormatter, but the BaseTextFormatter documents all of the notifications implemented as part of the standard interface. The reporter will issue these during a normal test suite run, but a formatter will only receive those notifications it has registered itself to receive.

See Also:

Direct Known Subclasses

BaseTextFormatter

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (BaseFormatter) initialize(output)

Returns a new instance of BaseFormatter

Parameters:

  • output (IO)

    the formatter output

24
25
26
27
# File 'lib/rspec/core/formatters/base_formatter.rb', line 24
def initialize(output)
  @output = output || StringIO.new
  @example_group = nil
end

Instance Attribute Details

- (void) example_group

Returns the value of attribute example_group

18
19
20
# File 'lib/rspec/core/formatters/base_formatter.rb', line 18
def example_group
  @example_group
end

- (void) output (readonly)

Returns the value of attribute output

19
20
21
# File 'lib/rspec/core/formatters/base_formatter.rb', line 19
def output
  @output
end

Instance Method Details

- (void) close(notification)

Invoked at the very end, close allows the formatter to clean up resources, e.g. open streams, etc.

Parameters:

  • notification (NullNotification)
151
152
153
# File 'lib/rspec/core/formatters/base_formatter.rb', line 151
def close(notification)
  restore_sync_output
end

- (void) dump_failures

Dumps detailed information about each example failure.

Parameters:

  • notification (NullNotification)

    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 112

- (void) dump_pending

Outputs a report of pending examples. This gets invoked after the summary if option is set to do so.

Parameters:

  • notification (NullNotification)

    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 137

- (void) dump_profile

This method is invoked after the dumping the summary if profiling is enabled.

Parameters:

  • profile (ProfileNotification)

    containing duration, slowest_examples and slowest_example_groups


    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 128

- (void) dump_summary

This method is invoked after the dumping of examples and failures. Each parameter is assigned to a corresponding attribute.

Parameters:

  • summary (SummaryNotification)

    containing duration, example_count, failure_count and pending_count


    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 119

- (void) example_failed

Invoked when an example fails.

Parameters:

  • notification (ExampleNotification)

    containing example subclass of RSpec::Core::Example


    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 82

- (void) example_group_finished

Invoked at the end of the execution of each example group.

Parameters:

  • notification (GroupNotification)

    containing example_group subclass of RSpec::Core::ExampleGroup


    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 56

- (void) example_group_started(notification)

This method is invoked at the beginning of the execution of each example group.

The next method to be invoked after this is #example_passed, #example_pending, or #example_group_finished.

Parameters:

  • notification (GroupNotification)

    containing example_group subclass of RSpec::Core::ExampleGroup

52
53
54
# File 'lib/rspec/core/formatters/base_formatter.rb', line 52
def example_group_started(notification)
  @example_group = notification.group
end

- (void) example_passed

Invoked when an example passes.

Parameters:

  • notification (ExampleNotification)

    containing example subclass of RSpec::Core::Example


    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 70

- (void) example_pending

Invoked when an example is pending.

Parameters:

  • notification (ExampleNotification)

    containing example subclass of RSpec::Core::Example


    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 77

- (void) example_started

Invoked at the beginning of the execution of each example.

Parameters:

  • notification (ExampleNotification)

    containing example subclass of RSpec::Core::Example


    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 63

- (void) message

Used by the reporter to send messages to the output stream.

Parameters:

  • notification (MessageNotification)

    containing message


    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 89

- (void) start(notification)

This method is invoked before any examples are run, right after they have all been collected. This can be useful for special formatters that need to provide progress on feedback (graphical ones).

This will only be invoked once, and the next one to be invoked is #example_group_started.

Parameters:

  • notification (StartNotification)
39
40
41
42
# File 'lib/rspec/core/formatters/base_formatter.rb', line 39
def start(notification)
  start_sync_output
  @example_count = notification.count
end

- (void) start_dump

This method is invoked after all of the examples have executed. The next method to be invoked after this one is #dump_failures (BaseTextFormatter then calls #dump_failure once for each failed example.)

Parameters:

  • notification (NullNotification)

    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 103

- (void) stop

Invoked after all examples have executed, before dumping post-run reports.

Parameters:

  • notification (NullNotification)

    
# File 'lib/rspec/core/formatters/base_formatter.rb', line 96