Есть ли способ исключить файлы из отчета о покрытии кода для бегуна покрытия кармы https://github.com/karma-runner/karma-coverage?
Как я могу исключить файлы из отчета о покрытии кода кармы?
Ответ 1
Здесь вы можете использовать несколько методов: karma использует minimatch globs для путей к файлам, и использование может воспользоваться этим, чтобы исключить некоторые пути.
Как первое решение, я бы сказал, попробуйте добавить только пути файла к препроцессу с охватом:
// 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/'
}
});
};
Приведенный выше пример является примером по умолчанию для покрытия кармы и показывает, что будут предварительно обработаны только те файлы в папке src
.
Другим трюком может быть использование оператора !
для исключения определенных путей:
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
'src/**/!(*spec|*mock).js': ['coverage']
},
В приведенном выше примере покрытие распространяется только на те файлы Javascript, которые не заканчиваются на spec.js
или mock.js
. То же самое можно сделать для папок:
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
'src/**/!(spec|mock)/*.js': ['coverage']
},
Не обрабатывайте файлы Javascript в папке spec
или mock
.
Ответ 2
Спасибо, это помогло мне исправить мой файл конфигурации. Только различие я использовал src/**/*!(*spec).js
для исключения файлов, заканчивающихся на .spec.js.