Karma を使用してテストを実行し、webpack を使用してファイルをバンドルし、babel を es6 -> es5 変換に使用しています。テストを実行し、コード カバレッジを生成していますが、コード カバレッジの数値はトランスパイル後のソース ファイルのものです。代わりに元のソース ファイルのコード カバレッジを取得する方法はありますか?
プリプロセッサを使用してみましたsourcemap
が、何もしないようでした。それをどこかのwebpack構成に追加する必要がありますか?
カルマ.conf.js
config.set({
browsers: ['Chrome'], //run in Chrome
files: [
'src/**/*-test.js'
],
frameworks: ['mocha'], //use the mocha test framework
plugins: [
'karma-chrome-launcher',
'karma-mocha',
'karma-sourcemap-loader',
'karma-webpack',
'karma-coverage',
],
preprocessors: {
'src/**/*-test.js': ['webpack']
},
reporters: ['dots', 'coverage'], //report results in this format
coverageReporter: {
reporters: [{
type: 'text-summary',
}, {
type: 'html',
dir: 'build/reports/coverage'
}]
},
singleRun: true, //just run once by default
webpack: {
node: {
fs: 'empty'
},
// Instrument code that isn't test or vendor code.
module: {
loaders: [{
test: /\.js?$/,
include: path.join(__dirname, 'src/js'),
loader: 'babel?stage=0'
}],
postLoaders: [{
test: /\.js$/,
exclude: /(test|node_modules)\//,
loader: 'istanbul-instrumenter'
}]
}
},
webpackMiddleware: {
noInfo: true //please don't spam the console when running in karma!
}
});