karma-sonarqube-reporter
v1.4.0
Published
A karma reporter plugin for generating Sonarqube generic test reports
Downloads
134,805
Readme
karma-sonarqube-reporter
Karma reporter plugin for generating SonarQube generic test reports.
Requirements
Node.js >= 8.10.0
Installation
npm install karma-sonarqube-reporter --save-dev
Configuration
Adjust your karma.conf.js
file:
Create a new plugin entry
plugins: [
require('karma-sonarqube-reporter')
]
Add configuration parameters
// Default configuration
sonarqubeReporter: {
basePath: 'src/app', // test files folder
filePattern: '**/*spec.ts', // test files glob pattern
encoding: 'utf-8', // test files encoding
outputFolder: 'reports', // report destination
legacyMode: false, // report for Sonarqube < 6.2 (disabled)
reportName: (metadata) => { // report name callback, but accepts also a
// string (file name) to generate a single file
/**
* Report metadata array:
* - metadata[0] = browser name
* - metadata[1] = browser version
* - metadata[2] = plataform name
* - metadata[3] = plataform version
*/
return metadata.concat('xml').join('.');
}
}
Activate sonarqube
reporter
reporters: ['sonarqube']
Click here to see a full example.
Running
If your project uses Angular CLI run ng test
and check the output folder.
$ ls reports
chrome.65.0.3325.linux.0.0.0.xml
firefox.54.0.0.linux.0.0.0.xml
The current report files' schema is defined on the SonarQube Generic Test Data page.
Add to your sonar-project.properties
one of the following properties:
| Legacy Mode | Property | | ----------- | ----------------------------------------- | | false | sonar.testExecutionReportPaths | | true | sonar.genericcoverage.unitTestReportPaths |
Note report paths should be passed in a comma-delimited.
Finally, start SonarQube Scanner on your project folder.
Contributions are welcome!
That's all!
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!