karma-sonarqube-execution-reporter

A Karma plugin. Report execution results in sonar-unit-tests xml format.

Usage no npm install needed!

<script type="module">
  import karmaSonarqubeExecutionReporter from 'https://cdn.skypack.dev/karma-sonarqube-execution-reporter';
</script>

README

karma-sonarqube-execution-reporter

NpmLicense npm NpmVersion

How to install

Run npm install --save-dev karma-sonarqube-unit-reporter in your project directory.
Package is also available on npmjs.org

How to use

  1. Import plugin to karma.conf.js in plugins section:
module.exports = function (config) {
  config.set({
    plugins: [
      require('karma-sonarqube-execution-reporter')
    ]
  })
}
  1. Add plugin configuration to karma.conf.js in config.set section:
module.exports = function (config) {
  config.set({
    sonarQubeExecutionReporter: {
      sonarQubeVersion: 'LATEST',
      testPaths: ['./src/app'],
      testFilePattern: '.spec.ts',
      outputDir: './coverage',
      outputFile: 'ut_report.xml'
    },
  })
}

Avaible options - descriptions

sonarQubeExecutionReporter: {
  sonarQubeVersion: string,
  outputFile: string,
  outputDir: string,
  useBrowserName: boolean,
  testPaths: string[],
  testFilePattern: string,
}

sonarQubeVersion

Pass 'LATEST' or main version of your SonarQube (pattern: '5.x', '6.x', etc).
Default value: 'LATEST'

outputFile

File name for xml report (for example 'execution-report.xml').
Default value: 'ut_report.xml'

outputDir

Relative directory for saving report file. If the directory doesn't exist will be created.
Default value: './' (current directory)

testPath

A single path to the directory, that will be recursively scanned to find tests files.
Default value: './' (current directory)

testPaths

You can pass multiple relative directories instead of a single path, all directories will be recursively scanned for tests files. (Overrides option testPath!)
Default value: ['./'] (current directory only)

testFilePattern

You can pass a regex that will match your test files (for example '(.spec.js)|(.test.js)').
Default value: .spec.(ts|js)