39

カルマ カバレッジ ランナーhttps://github.com/karma-runner/karma-coverageのコード カバレッジ レポートからファイルを除外する方法はあります か?

4

2 に答える 2

48

ここでいくつかの手法を使用できます。カルマはファイル パスにミニマッチ グロブを使用し、それを利用して一部のパスを除外できます。

最初の解決策として、ファイルのパスのみを追加して、カバレッジで前処理することをお勧めします。

// 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/'
    }
  });
};

上記は karma-coverage のデフォルトの例で、srcフォルダー内のファイルのみが前処理されることを示しています。

もう 1 つのトリックは、!演算子を使用して特定のパスを除外することです。

preprocessors: {
  // source files, that you wanna generate coverage for
  // do not include tests or libraries
  'src/**/!(*spec|*mock).js': ['coverage']
},

spec.js上記のものは、またはで終わらない Javascript ファイルでのみカバレッジを実行しますmock.js。フォルダーに対しても同じことができます。

preprocessors: {
  // source files, that you wanna generate coverage for
  // do not include tests or libraries
  'src/**/!(spec|mock)/*.js': ['coverage']
},

specまたはmockフォルダー内の Javascript ファイルを処理しないでください。

于 2015-03-20T23:08:11.723 に答える