8

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!
    }
});
4

1 に答える 1