Подтвердить что ты не робот

Как я могу исключить файлы из отчета о покрытии кода кармы?

Есть ли способ исключить файлы из отчета о покрытии кода для бегуна покрытия кармы https://github.com/karma-runner/karma-coverage?

4b9b3361

Ответ 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.