RSpec 3 formatter that generates an XML file for SonarQube and SonarCloud️, using the Generic Test Data format.
This formatter generates an XML report that can be read by SonarQube and SonarCloud️.
Out of the box, SonarQube 6.2+ and SonarCloud support generic formats for test coverage and test execution import.
Using the XML file generated by this gem, you get an overview of test executions (passed
, skipped
, failed
) and
the time in milliseconds it took to execute these.
Add the gem to your application's Gemfile
:
# RSpec formatters
gem 'rspec-sonarqube-formatter', '~> 1.6', require: false
Then, update your bundle:
$ bundle install
Or install it manually using:
$ gem install rspec-sonarqube-formatter
Add the following code to your spec_helper.rb
:
RSpec.configure do |c|
c.formatter = 'documentation'
c.add_formatter('RspecSonarqubeFormatter', 'out/test-report.xml')
...
end
Alternatively, edit your .rspec
file to define your formatters there:
# .rspec
--require spec_helper
--color
--format RspecSonarqubeFormatter
--out out/test-report.xml
--format documentation
To make SonarQube read the test report, specify the path to the generated XML in your
sonar-project.properties
or configure it in the SonarQube GUI.
# sonar-project.properties
sonar.testExecutionReportPaths=out/test-report.xml
The only existing formatter does not work out of the box and is not published to RubyGems.org, so I created my own.
Thank you to @witjoh
for the original work
Bug reports and pull requests are welcome on GitHub at otherguy/rspec-sonarqube-formatter
.
After checking out the repository, you need to install dependencies:
gem install bundler
bundle install
Then, run bundle exec rake spec
to run the test suite.
To install this gem on your local machine, run bundle exec rake install
.
Please check your contributions with RuboCop by running bundle exec rubocop
.
Releases are built from tags automatically and pushed to RubyGems.org.