karma-remap-istanbul
Call remap-istanbul as a karma reporter, enabling remapped reports on watch
Installation
Install karma-remap-istanbul
as a dev-dependency in your project.
npm install karma-remap-istanbul --save-dev
Configuration
Add the plugin, reporter and reporter configuration in your karma.conf.js
.
{
plugins: ['karma-remap-istanbul'],
reporters: ['progress', 'karma-remap-istanbul'],
remapIstanbulReporter: {
remapOptions: {},
reportOptions: {},
reports: {
lcovonly: 'path/to/output/coverage/lcov.info',
html: 'path/to/output/html/report'
}
}
}
Example configuration with karma-coverage
{
preprocessors: {
'build/**/!(*spec).js': ['coverage']
},
plugins: ['karma-remap-istanbul', 'karma-coverage'],
reporters: ['progress', 'coverage', 'karma-remap-istanbul'],
remapIstanbulReporter: {
reports: {
html: 'coverage'
}
}
}
You will need to either install karma-coverage
and configure it as a preprocessor for your transpiled modules under test or instrument the modules under test as part of your build process (i.e. via a tool like webpack and the sourcemap-istanbul-instrumenter-loader
). If the latter option is chosen, the coverage statistics will need to be stored by the build tool on the __coverage__
global variable (istanbul's default) or karma will not transmit the coverage back to the runner. For a full e2e example please look here.
Alternatives
For some build tools there are better suited solutions than using this module.