karma-sonarqube-reporter
TypeScript icon, indicating that this package has built-in type declarations

1.4.0 • Public • Published

karma-sonarqube-reporter

npm version Build Status Coverage Status Quality Gate All Contributors

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):


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!

Package Sidebar

Install

npm i karma-sonarqube-reporter

Weekly Downloads

32,898

Version

1.4.0

License

MIT

Unpacked Size

1.34 MB

Total Files

81

Last publish

Collaborators

  • fadc80