istanbul-instrumenter-loader:覆盖问题与来源不匹配

tac*_*ice 14 ecmascript-6 karma-runner istanbul webpack

我正在使用istanbul-instrumenter-loader尝试为我的未传输的es6代码生成代码覆盖率报告,虽然一切运行正常,但生成的HTML输出中报告的问题似乎与实际源不一致.

例如:

覆盖范围输出不正确

(当图像被移除)const声明有3后"if语句未覆盖",即使没有这样的语句或线后在所有的任何代码.有时"语句未覆盖"标记在字符串的中间,或对象声明中,或多个语句中等.

这是我的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: ''
        }
    })
};
Run Code Online (Sandbox Code Playgroud)

Mon*_*eed 0

karma-coverage 和 karma-webpack 似乎可以协同工作

"karma": "^0.12.28",
"karma-coverage": "^0.2.7",
"karma-sourcemap-loader": "^0.3.2",
"karma-webpack": "^1.3.1",
"webpack": "^1.4.14"
Run Code Online (Sandbox Code Playgroud)

您配置正确吗,您可以在这里获取更多信息https://github.com/webpack-contrib/istanbul-instrumenter-loader

你能为你的js文件/规范提供一个样本吗