业力报道报道令人困惑

时间:2017-12-19 11:23:30

标签: javascript unit-testing karma-runner

我正在尝试使用业力测试我的文件array.js,这个文件只有36行,但是,覆盖率报告显示"行...."(参见我上传的png) ,值是什么意思,为什么它与我的测试代码不匹配?我使用es6的原因是什么?  我怎样才能得到正确的报告?

karma-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

1 个答案:

答案 0 :(得分:0)

Karma从您的项目中执行测试范围内的所有文件。您获得的报告适用于项目中的所有文件。以下是每个值的解释:

语句:程序中的每个语句都已执行了吗?

分支:是否已执行每个控制结构的每个分支(也称为DD路径)(例如if和case语句)?例如,给定if语句,是否已执行true和false分支?另一种说法是,程序中的每个边缘都已执行了吗?

功能:程序中的每个功能(或子程序)都被调用了吗?

:源文件中的每个可执行行都已执行了吗?

详细说明: https://en.wikipedia.org/wiki/Code_coverage