2017-12-19 33 views
1

カルマを使用してファイルarray.jsをテストしようとしていますが、このファイルは36行ですが、カバレッジレポートには "Lines ...."と表示されます(pngのアップロードを参照)。値の意味は何か、なぜ私のテストコードと一致しないのですか?私がes6を使うのはなぜですか? 正しいレポートを取得するにはどうすればよいですか?カルマカバレッジレポート混乱

カルマ-config設定、

const webpackConfig = { 
    devtool: 'inline-source-map', 
    module: { 
    rules: [ 
     { 
     test: /\.(js|jsx)$/, 
     exclude: /(node_modules|vendor)/, 
     loader: 'babel-loader' 
     } 
    ] 
    } 
}; 

module.exports = function (config) { 
    config.set({ 
    basePath: '../', 
    plugins: [ 
     'karma-webpack', 
     'karma-mocha', 
     'karma-phantomjs-launcher', 
     'karma-verbose-reporter', 
     'karma-coverage' 
    ], 
    webpack: webpackConfig, 
    webpackServer: { 
     noInfo: true 
    }, 
    frameworks: ['mocha'], 
    files: [ 
     'test/**/*.js', 
     'src/**/*.js' 
    ], 
    preprocessors: { 
     'test/**/*.js': ['webpack'], 
     'src/**/*.js': ['webpack', 'coverage'] 
    }, 
    reporters: ['verbose', 'coverage'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_INFO, 
    autoWatch: true, 
    browsers: ['PhantomJS'], 
    concurrency: Infinity, 
    coverageReporter: { 
     includeAllSources: true, 
     dir: 'coverage/', 
     reporters: [ 
     {type: "html", subdir: "html"}, 
     {type: 'text-summary'} 
     ] 
    } 
    }); 
}; 

enter image description here

enter image description here

答えて

0

カルマは、あなたのプロジェクトから、あなたのテスト範囲の下にあるすべてのファイルを実行します。表示されているレポートは、プロジェクト内のすべてのファイルです。各値の説明は、次のとおりです。

:プログラム中の各文が実行されていますか?

ブランチ:各制御構造(if文とcase文など)の各ブランチ(DDパスとも呼ばれます)は実行されていますか?たとえば、if文を指定すると、trueとfalseの両方の枝が実行されましたか?これを言う別の方法は、プログラムのすべてのエッジが実行されているかどうかです。

機能:プログラムの各機能(またはサブルーチン)が呼び出されましたか?

:ソースファイルの各実行可能行が実行されていますか?

詳細説明: https://en.wikipedia.org/wiki/Code_coverage