Skip to content
Karma reporter plugin for generating SonarQube generic test reports
JavaScript TypeScript HTML Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
it
lib
spec
.all-contributorsrc
.coveralls.yml
.gitignore
.travis.yml
LICENSE
README.md
contributing.md
index.js
karma.conf.js
package-lock.json
package.json
renovate.json
sonar-project.properties
test.sh

README.md

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, accepts also a string (reportName: 'report.xml') 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):

Sohan Soni
Sohan Soni

💻
Steffen Giers
Steffen Giers

💻
Maurycy Gosciniak
Maurycy Gosciniak

🐛
Fabio
Fabio

🐛
Héla Ben Khalfallah
Héla Ben Khalfallah

🐛
Esche
Esche

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!

You can’t perform that action at this time.