RSpec TAP Formatters provides four different TAP 13 format style with a proper nested display of example groups and includes stats for the total number of passed, failed, and pending tests per example group. The supported formats are:
RSpec::TAP::Formatters::Default
RSpec::TAP::Formatters::Compact
RSpec::TAP::Formatters::Flat
RSpec::TAP::Formatters::FlatCompact
Each formatter respects the color configuration for the execution and only prints colored output when enabled. However, writing to a file will never use colors.
When writing the report to a file, each formatter will print progress status on the standard output:
.
denotes a passing example.F
denotes a failing example.*
denotes a pending example.
Sample report for string_spec.rb using
RSpec::TAP::Formatters::Default
format:
TAP version 13
# test: String {
# group: #present? {
# group: when whitespaces and other characters {
ok 1 - returns true
1..1
# tests: 1, passed: 1
}
# group: when nil {
not ok 1 - returns false
---
location: "./resources/string_spec.rb:8"
error: |-
Failure/Error: expect(string.present?).to eq(false)
NoMethodError:
undefined method `present?' for nil:NilClass
backtrace: "./resources/string_spec.rb:9:in `block (4 levels) in <top (required)>'"
...
1..1
# tests: 1, failed: 1
}
# group: when whitespaces only {
ok 1 - returns false
1..1
# tests: 1, passed: 1
}
1..3
# tests: 3, passed: 2, failed: 1
}
1..3
# tests: 3, passed: 2, failed: 1
}
1..3
# tests: 3, passed: 2, failed: 1
# duration: 0.026471 seconds
# seed: 27428
You can check the reports for other formats here.
Installation is pretty standard:
gem install rspec-tap-formatters
You can install using bundler
also but do not require it in Gemfile
.
Make sure to use it as a test dependency:
group :test do
# other gems
gem 'rspec-tap-formatters', '~> 0.1.0', require: false
end
You can also install using the GitHub package registry:
source 'https://rubygems.pkg.github.com/avmnu-sng' do
gem 'rspec-tap-formatters', '~> 0.1.0', require: false
end
You can specify the format as the command argument:
rspec --format RSpec::TAP::Formatters::Default
To write to file, provide the --out
argument:
rspec --format RSpec::TAP::Formatters::Default --out report.tap
You can also configure the .rspec
file:
# other configurations
--format RSpec::TAP::Formatters::Default
--out report.tap
Read more about TAP specifications and supported formats in the official docs.
Read the source code documentation here.
RSpec TAP Formatters supports MRI 2.3+
and RSpec 3
.
The changelog is available here.
Copyright (c) 2019 Abhimanyu Singh. See LICENSE.md for further details.