Existe-t-il un moyen d'exclure des fichiers du rapport de couverture de code pour le programme de couverture de karma https://github.com/karma-runner/karma-coverage ?
Vous pouvez utiliser plusieurs techniques ici: karma utilise minimatch globs pour les chemins de fichiers et l'utilisation peut en profiter pour exclure certains chemins.
Comme première solution, je dirais essayer d'ajouter uniquement les chemins du fichier à prétraiter avec la couverture:
// 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/'
}
});
};
Celui ci-dessus est l'exemple par défaut dans la couverture de karma et il montre que seuls les fichiers du dossier src
seront prétraités.
Une autre astuce peut être d'utiliser le !
opérateur pour exclure des chemins spécifiques:
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
'src/**/!(*spec|*mock).js': ['coverage']
},
Celui ci-dessus fait que la couverture s'exécute uniquement sur les fichiers Javascript qui ne se terminent pas par spec.js
ou mock.js
. La même chose peut être faite pour les dossiers:
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
'src/**/!(spec|mock)/*.js': ['coverage']
},
Ne traitez aucun fichier Javascript dans le dossier spec
ou mock
.