TAP Producer for RSpec-3
RSpec TAP Formatters produces TAP 13
output with a proper nested display of example groups and includes stats for the total
number of passed, failed, and pending tests per example group.
With TAP format, it is easier to view failure reason immediately without waiting
for the failure dumps at the end. Also, TAP is a universal format, so one can:
RSpec TAP Formatters supports four variants:
RSpec:
:Default
RSpec:
:Compact
RSpec:
:Flat
RSpec:
: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:
.
for passingF
for failing*
for pendingSample report for string_spec.rb usingRSpec:
format::Default
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.