3

、、およびES6 コード カバレッジを使用して、.jsおよび.jsxファイルに対してテスト カバレッジを実行しています。karmamochaisparta

何らかの理由で、.jsxファイルのカバレッジ レポートが破損しています。

次の画像を参照してください。

ここに画像の説明を入力

レポートはすべての.jsxファイルで同じように見えます。つまり、JSX構文が表示される行から見ると、関数が 1 回アクセスされていることがわかりますが、カバレッジが壊れています。

これが私のkarma.conf.jsファイルです:

var path = require('path');
var isparta = require('isparta');

const babelOptions = {
presets: ['stage-0', 'react'],
plugins: [
    'transform-es2015-modules-commonjs',
    'transform-es2015-destructuring',
    'transform-es2015-spread',
    'transform-object-rest-spread',
    'transform-class-properties'
    ]
};

module.exports = function (config) {
config.set({

    browsers: [process.env.JENKINS_HOME ? 'Firefox' : 'Chrome'],

    singleRun: true,

    frameworks: ['mocha'],

    files: [
        'tests.webpack.js'
    ],

    preprocessors: {
        'tests.webpack.js': ['webpack', 'sourcemap'],
        'src/**/*.jsx': ['coverage']
    },

    reporters: ['progress', 'coverage'],

    coverageReporter: {
        dir: 'dist/coverage/',
        reporters: [
            {type: 'html'},
            {type: 'text-summary'}
        ],
        includeAllSources: true,
        instrumenters: {isparta: isparta},
        instrumenter: {
            '**/*.js': 'isparta',
            '**/*.jsx': 'isparta'
        },
        instrumenterOptions: {
            isparta: {
                babel: babelOptions,
                embedSource: true,
                noAutoWrap: true,
            }
        }
    },

    webpack: {
        babel: babelOptions,
        devtool: 'inline-source-map',
        resolve: {
            root: [path.resolve('.')],
            alias: {
                i18nJson: 'nfvo-utils/i18n/locale.json',
                'nfvo-utils/RestAPIUtil.js': 'test-utils/mocks/RestAPIUtil.js',
                'nfvo-utils': 'src/nfvo-utils',
                'nfvo-components': 'src/nfvo-components',
                'sdc-app': 'src/sdc-app'
            }
        },
        module: {
            preLoaders: [
                {test: /\.js$/, exclude: /(src|node_modules)/, loader: 'eslint-loader'},
                {test: /\.(js|jsx)$/, exclude: /(test|test\.js|node_modules)/, loader: 'isparta'}
            ],
            loaders: [
                {test: /\.(js|jsx)$/, exclude: /node_modules/, loader: 'babel-loader'},
                {test: /\.json$/, loaders: ['json']},
                {test: /\.(css|scss|png|jpg|svg|ttf|eot|otf|woff|woff2)(\?.*)?$/, loader: 'ignore-loader'},
            ]
        },
        eslint: {
            configFile: './.eslintrc',
            emitError: true,
            emitWarning: true
        },
    },

    webpackServer: {
        noInfo: true
    }

});
};

さらに情報が必要な場合はお知らせください。編集します。

4

0 に答える 0