Class | Spec::Runner::Formatter::BaseFormatter
In: | lib/spec/runner/formatter/base_formatter.rb
Parent: | Object

Formatter base-class, which implements all required methods as no-ops, with the exception

### Methods

add_example_group close dump_failure dump_pending dump_summary example_failed example_group_started example_passed example_pending example_started new start start_dump

### Public Class methods

new(options, output)

Formatters are initialized with `options` and `output` arguments. RSpec‘s built-in formatters already expect this, and any custom formatters should as well.

#### Parameters

options: | A struct containing boolean values for colour, autospec, and dry_run
output: | Used by RSpec‘s built-in formatters to determine where to write the output. Default is `STDOUT`, otherwise a filename is expected.

### Example

If you invoke the `spec` command with:

      --format progress:progress_report.txt

… the value of `output` will be progress_report.txt. If you don‘t identify an output destination, the default is STDOUT.

### Public Instance methods

add_example_group(example_group_proxy)

Deprecated - use example_group_started instead

close()

This method is invoked at the very end. Allows the formatter to clean up, like closing open streams.

dump_failure(counter, failure)

Dumps detailed information about an example failure. This method is invoked for each failed example after all examples have run. `counter` is the sequence number of the associated example. `failure` is a Failure object, which contains detailed information about the failure.

#### Parameters

counter: | the sequential number of this failure
failure: | instance of Spec::Runner::Reporter::Failure

dump_pending()

This gets invoked after the summary

dump_summary(duration, example_count, failure_count, pending_count)

This method is invoked after the dumping of examples and failures.

#### Parameters

duration: | the total time for the entire run
example_count: | the number of examples run
failure_count: | the number of examples that failed
pending_count: | the number of examples that are pending

example_failed(example_proxy, counter, failure)

This method is invoked when an `example` fails, i.e. an exception occurred inside it (such as a failed should or other exception).

#### Parameters

example_proxy: | The same instance of Spec::Example::ExampleProxy that was passed to `example_started`
counter: | the sequential number of this failure
failure: | instance of Spec::Runner::Reporter::Failure

example_group_started(example_group_proxy)

This method is invoked at the beginning of the execution of each example_group. The next method to be invoked after this is example_started

#### Parameters

example_group_proxy: | instance of Spec::Example::ExampleGroupProxy

example_passed(example_proxy)

This method is invoked when an `example` passes. `example_proxy` is the same instance of Spec::Example::ExampleProxy that was passed to example_started

#### Parameters

example_proxy: | instance of Spec::Example::ExampleProxy

example_pending(example_proxy, message, deprecated_pending_location=nil)

This method is invoked when an example is not yet implemented (i.e. has not been provided a block), or when an ExamplePendingError is raised. `message` is the message from the ExamplePendingError, if it exists, or the default value of "Not Yet Implemented". `deprecated_pending_location` is deprecated - use example_proxy.location instead

#### Parameters

example_proxy: | instance of Spec::Example::ExampleProxy
message: | the message passed to the pending message, or an internal default

example_started(example_proxy)

This method is invoked when an `example` starts. The next method to be invoked after this is example_passed, example_failed, or example_pending

#### Parameters

example_proxy: | instance of Spec::Example::ExampleProxy

start(example_count)

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 method will only be invoked once, and the next one to be invoked is example_group_started

#### Parameters

example_count: | the total number of examples to be run

start_dump()

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

[Validate]