Module: RSpec::Core::Formatters
- Defined in:
- lib/rspec/core/formatters.rb,
lib/rspec/core/formatters/helpers.rb,
lib/rspec/core/formatters/html_printer.rb,
lib/rspec/core/formatters/html_formatter.rb,
lib/rspec/core/formatters/base_formatter.rb,
lib/rspec/core/formatters/json_formatter.rb,
lib/rspec/core/formatters/snippet_extractor.rb,
lib/rspec/core/formatters/progress_formatter.rb,
lib/rspec/core/formatters/base_text_formatter.rb,
lib/rspec/core/formatters/text_mate_formatter.rb,
lib/rspec/core/formatters/deprecation_formatter.rb,
lib/rspec/core/formatters/documentation_formatter.rb
Overview
Built-in Formatters
- progress (default) - prints dots for passing examples,
Ffor failures,*for pending - documentation - prints the docstrings passed to
describeanditmethods (and their aliases) - html
- textmate - html plus links to editor
- json - useful for archiving data for subsequent analysis
The progress formatter is the default, but you can choose any one or more of
the other formatters by passing with the --format (or -f for short)
command-line option, e.g.
rspec --format documentation
You can also send the output of multiple formatters to different streams, e.g.
rspec --format documentation --format html --out results.html
This example sends the output of the documentation formatter to $stdout, and
the output of the html formatter to results.html.
Custom Formatters
You can tell RSpec to use a custom formatter by passing its path and name to
the rspec commmand. For example, if you define MyCustomFormatter in
path/to/mycustomformatter.rb, you would type this command:
rspec --require path/to/my_custom_formatter.rb --format MyCustomFormatter
The reporter calls every formatter with this protocol:
start(expected_example_count)- zero or more of the following
example_group_started(group)example_started(example)example_passed(example)example_failed(example)example_pending(example)message(string)
stopstart_dumpdump_pendingdump_failuresdump_summary(duration, example_count, failure_count, pending_count)seed(value)close
You can either implement all of those methods or subclass
RSpec::Core::Formatters::BaseTextFormatter and override the methods you want
to enhance.
Defined Under Namespace
Modules: Helpers Classes: BaseFormatter, BaseTextFormatter, DeprecationFormatter, DocumentationFormatter, HtmlFormatter, HtmlPrinter, JsonFormatter, ProgressFormatter, SnippetExtractor, TextMateFormatter