カルマカバレッジランナー https://github.com/karma-runner/karma-coverage のコードカバレッジレポートからファイルを除外する方法はありますか?
ここでいくつかのテクニックを使用できます: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/'
}
});
};
上記はkarma-coverageのデフォルトの例であり、src
フォルダー内のファイルのみが前処理されることを示しています。
別のトリックは、!
演算子を使用して特定のパスを除外することです。
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
'src/**/!(*spec|*mock).js': ['coverage']
},
上記の方法では、spec.js
またはmock.js
で終わらないJavascriptファイルでのみカバレッジが実行されます。同じことがフォルダーに対しても実行できます。
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
'src/**/!(spec|mock)/*.js': ['coverage']
},
spec
またはmock
フォルダー内のJavascriptファイルを処理しないでください。