我需要一些关于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'
]
});
};
如果您运行测试,您会发现它确实工作正常,但覆盖率报告不正确。
答案 0 :(得分:1)
在做了一些研究之后,我发现这个问题已在本期评论中得到解决:
https://github.com/karma-runner/karma-coverage/issues/16
我使用了browserify-istanbul,现在覆盖率报告工作正常:)