A Karma plugin. Generate code coverage.
npm install karma-coverage
 
  
> Generate code coverage using [Istanbul].
The easiest way is to install karma-coverage as a devDependency,
by running
``bash`
npm install karma karma-coverage --save-dev
For configuration details see docs/configuration.
`javascript
// karma.conf.js
module.exports = function(config) {
config.set({
files: [
'src/*/.js',
'test/*/.js'
],
// coverage reporter generates the coverage
reporters: ['progress', 'coverage'],
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
// (these files will be instrumented by Istanbul)
'src/*/.js': ['coverage']
},
// optionally, configure the reporter
coverageReporter: {
type : 'html',
dir : 'coverage/'
}
});
};
`$3
For an example on how to use with CoffeeScript
see examples/coffee. For an example of how to use with
CoffeeScript and the RequireJS module loader, see
examples/coffee-requirejs (and also see
the useJSExtensionForCoffeeScript option in
docs/configuration.md).
`javascriptfile
// karma.conf.js
module.exports = function(config) {
config.set({
files: [
'src/*/.js',
'test/*/.js'
],
reporters: ['progress', 'coverage'],
preprocessors: {
'src/*/.js': ['coverage']
},
coverageReporter: {
// specify a common output directory
dir: 'build/reports/coverage',
reporters: [
// reporters not supporting the propertyfile
{ type: 'html', subdir: 'report-html' },
{ type: 'lcov', subdir: 'report-lcov' },
// reporters supporting the property, use subdir to directlydir
// output them in the directory`
{ type: 'cobertura', subdir: '.', file: 'cobertura.txt' },
{ type: 'lcovonly', subdir: '.', file: 'report-lcovonly.txt' },
{ type: 'teamcity', subdir: '.', file: 'teamcity.txt' },
{ type: 'text', subdir: '.', file: 'text.txt' },
{ type: 'text-summary', subdir: '.', file: 'text-summary.txt' },
]
}
});
};
#### Don't minify instrumenter output
When using the istanbul instrumenter (default), you can disable code compaction by adding the following to your configuration.
`javascript``
// karma.conf.js
module.exports = function(config) {
config.set({
coverageReporter: {
instrumenterOptions: {
istanbul: { noCompact: true }
}
}
});
};
----
For more information on Karma see the [homepage].
[homepage]: https://karma-runner.github.io
[Istanbul]: https://istanbul.js.org