karma-coverage was loaded and configured but never in the reporters list, so the client has had no coverage output at all. Adding it to the reporters changes nothing for the default run (istanbul only instruments when --code-coverage is passed, so the reporter has nothing to say otherwise), and `npm run coverage` turns it on and writes the html report plus a json-summary under coverage/datacontroller. Measured on this branch: 906 tests, statements 50.21%, branches 46.78%, functions 45.12%, lines 49.87%.
48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
// Karma configuration file, see link for more information
|
|
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
|
|
|
module.exports = function (config) {
|
|
config.set({
|
|
basePath: '',
|
|
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
|
plugins: [
|
|
require('karma-jasmine'),
|
|
require('karma-chrome-launcher'),
|
|
require('karma-jasmine-html-reporter'),
|
|
require('karma-coverage'),
|
|
require('@angular-devkit/build-angular/plugins/karma')
|
|
],
|
|
client: {
|
|
jasmine: {
|
|
// you can add configuration options for Jasmine here
|
|
// the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
|
|
// for example, you can disable the random execution with `random: false`
|
|
// or set a specific seed with `seed: 4321`
|
|
},
|
|
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
|
},
|
|
jasmineHtmlReporter: {
|
|
suppressAll: true // removes the duplicated traces
|
|
},
|
|
coverageReporter: {
|
|
dir: require('path').join(__dirname, './coverage/datacontroller'),
|
|
subdir: '.',
|
|
reporters: [
|
|
{ type: 'html' },
|
|
{ type: 'text-summary' },
|
|
// json-summary is what lets a script answer "which source files have no
|
|
// spec at all" without scraping the HTML report.
|
|
{ type: 'json-summary' }
|
|
]
|
|
},
|
|
reporters: ['progress', 'kjhtml', 'coverage'],
|
|
browsers: ['Chrome', 'ChromeHeadless', 'ChromeHeadlessCI'],
|
|
restartOnFileChange: true,
|
|
customLaunchers: {
|
|
ChromeHeadlessCI: {
|
|
base: 'ChromeHeadless',
|
|
flags: ['--no-sandbox']
|
|
}
|
|
},
|
|
});
|
|
}; |