--format
option
Use the --format
option to tell RSpec how to format the output.
RSpec ships with several formatters built in. By default, it uses the progress formatter, which generates output like this:
....F.....*.....
A ‘.’ represents a passing example, ‘F’ is failing, and ‘*’ is pending.
Use the documentation formatter to see the documentation strings passed to
describe
, it
, and their aliases:
$ rspec spec --format documentation
You can also specify an output target ($stdout
by default) with an --out
option immediately following the --format
option:
$ rspec spec --format documentation --out rspec.txt
Run rspec --help
to see a listing of available formatters.
Background
Given a file named “example_spec.rb” with:
RSpec.describe "something" do
it "does something that passes" do
expect(5).to eq(5)
end
it "does something that fails" do
expect(5).to eq(4)
end
it "does something that is pending", :pending => true do
expect(5).to be < 3
end
it "does something that is skipped", :skip => true do
expect(5).to be < 3
end
end
Progress bar format (default)
When I run rspec --format progress example_spec.rb
Then the output should contain “.F**”.
Documentation format
When I run rspec example_spec.rb --format documentation
Then the output should contain:
something
does something that passes
does something that fails (FAILED - 1)
does something that is pending (PENDING: No reason given)
does something that is skipped (PENDING: No reason given)
Documentation format saved to a file
When I run rspec example_spec.rb --format documentation --out rspec.txt
Then the file “rspec.txt” should contain:
something
does something that passes
does something that fails (FAILED - 1)
does something that is pending (PENDING: No reason given)
does something that is skipped (PENDING: No reason given)
Multiple formats and output targets
When I run rspec example_spec.rb --format progress --format documentation --out rspec.txt
Then the output should contain “.F**”
And the file “rspec.txt” should contain:
something
does something that passes
does something that fails (FAILED - 1)
does something that is pending (PENDING: No reason given)
does something that is skipped (PENDING: No reason given)