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:
Add configuration parameters
// Default configurationsonarqubeReporter: 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) { // 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; }
Activate sonarqube
reporter
reporters:
Click here to see a full example.
Running
If your project uses Angular CLI run ng test
and check the output folder.
$ ls reportschrome.65.0.3325.linux.0.0.0.xmlfirefox.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):
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!