业力覆盖未能显示正确的结果

时间:2015-10-29 19:22:47

标签: javascript karma-runner karma-mocha karma-coverage

我需要一些关于Karma和browserify覆盖的帮助。我用我在这里运行的测试创建了一个repo:

https://github.com/jotaoncode/web-istanbul

我的报道结果如下: Results of coverage

测试仅在函数索引上运行。但正如您所看到的结果是100%并且仅标记绿色文件的第一行。

我见过伊斯坦布尔正确显示覆盖率值的情况,我更改了测试和来源,但没有。

我也有这个业力配置:

module.exports = function(config) {
  config.set({
    //logLevel: 'LOG_DEBUG',

    reporters: ['spec', 'coverage'],

    // Continuous Integration mode
    // if true, Karma captures browsers, runs the tests and exits
    singleRun : true,

    autoWatch : false,

    // base path that will be used to resolve all patterns (eg. files, exclude)
    basePath: '',

    port: 9876,

    // frameworks to use
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
    frameworks: [
      'mocha',
      'browserify'
    ],

    files: [
      'src/**/*.js',
      'test/*.js'
    ],

    // list of files to exclude
    exclude: [],

    preprocessors: {
      'src/**/*.js': ['browserify', 'coverage'],
      'test/**/*.js': ['browserify']

    },

    coverageReporter: {
      reporters: [
        { type: 'html' },
        { type: 'text' },
        { type: 'lcovonly' }
      ],
      instrumenterOptions: {
        istanbul: {
          noCompact: true
        }
      },
      instrumenter: {
        'test/**/*.js': 'istanbul'
      },
      includeAllSources: true
    },


    // enable / disable colors in the output (reporters and logs)
    colors: true,

    // start these browsers
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
    browsers: [
      'PhantomJS2'
    ]

  });
};

如果您运行测试,您会发现它确实工作正常,但覆盖率报告不正确。

1 个答案:

答案 0 :(得分:1)

在做了一些研究之后,我发现这个问题已在本期评论中得到解决:

https://github.com/karma-runner/karma-coverage/issues/16

我使用了browserify-istanbul,现在覆盖率报告工作正常:)

enter image description here