Esiste un modo per escludere i file dal rapporto sulla copertura del codice per il conduttore di copertura karma https://github.com/karma-runner/karma-coverage?Come escludere i file dal report di copertura del codice karma?
23
A
risposta
35
Qui è possibile utilizzare diverse tecniche: karma utilizza i globi minimatch per i percorsi dei file e l'utilizzo può trarne vantaggio per escludere alcuni percorsi.
Come prima soluzione direi tenta di aggiungere solo i percorsi del file di pre-elaborazione con la copertura:
// 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/'
}
});
};
Quello sopra è l'esempio di default nel karma-copertura e si vede che solo quelli i file nella cartella src
verranno sottoposti a pre-elaborazione.
Un altro trucco può essere quello di utilizzare l'operatore !
per escludere percorsi specifici:
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
'src/**/!(*spec|*mock).js': ['coverage']
},
Quello sopra fa girare la copertura solo su quelle file Javascript che non terminano con spec.js
o mock.js
. Lo stesso può essere fatto per le cartelle:
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
'src/**/!(spec|mock)/*.js': ['coverage']
},
Non elaborare i file Javascript nella cartella spec
o mock
.
sì, è esattamente ciò di cui avevo bisogno, grazie per l'aiuto. –
Suggerimento: questo escluderà tutte le cartelle spec e mock, se sono nelle cartelle src/spec e src/mock, quindi usare in questo modo: ''src /! (Spec | mock)/**/*. Js': [ 'copertura'] ' –