Я использую istanbul-instrumenter-loader, чтобы попытаться сгенерировать отчеты о покрытии кода для моего непереведенного кода es6, и пока все работает нормально, проблемы сообщенный в сгенерированном HTML-выходе, похоже, не соответствует реальному источнику.
Например:
(в случае удаления изображения)
В объявлении const
есть 3 слова "if if not coated" после него, даже если после этой строки нет такой инструкции или какого-либо кода. Иногда выражение "не охватывается" помечено в середине строки или в объявлении объекта или в нескольких операторах и т.д. И т.д.
Здесь мой конфигурационный файл Karma:
module.exports = function(config) {
config.set({
basePath: '../../',
frameworks: [ 'qunit' ],
files: [
'test/index.js',
// Session tickets
{ pattern: 'test/tickets/*.json', watched: true, included: false, served: true }
],
preprocessors: {
'test/index.js': 'webpack'
},
webpack: {
module: {
rules: [{
test: /\.js$/,
exclude: /node_modules/,
loaders: ['istanbul-instrumenter-loader', 'babel-loader']
},
{
test: /\.vue$/,
loaders: ['vue-loader']
},
{
test: /\.png$/,
loaders: ['url-loader']
}]
}
},
reporters: [ 'coverage-istanbul', 'progress' ],
coverageIstanbulReporter: {
type: 'html',
dir: './coverage'
fixWebpackSourcePaths: true
},
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: [ 'Chrome' ],
browserNoActivityTimeout: 30000,
singleRun: true,
concurrency: Infinity,
client: {
captureConsole: true
},
browserConsoleLogOptions: {
terminal: true,
level: ''
}
})
};