Karma reporter plugin for generating SonarQube generic test reports.
Node.js >= 8.10.0
npm install karma-sonarqube-reporter --save-dev
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] = platform name
* - metadata[3] = platform version
*/
return metadata.concat('xml').join('.');
}
}
Activate sonarqube
reporter
reporters: ['sonarqube']
Click here to see a full example.
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!
Thanks goes to these wonderful people (emoji key):
Fernando Costa π» π π |
Sohan Soni π» |
Steffen Giers π» |
Maurycy Gosciniak π |
Fabio π» π |
HΓ©la Ben Khalfallah π |
Esche π |
JΓ©rΓ©my Bardon π» |
Paulius Paplauskas π» |
This project follows the all-contributors specification. Contributions of any kind welcome!