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
sonarqubeReporter: {
basePath: 'src/app',
filePattern: '**/*spec.ts',
encoding: 'utf-8',
outputFolder: 'reports',
legacyMode: false,
reportName: (metadata) => {
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.
That's all!