我正在使用Karma编写JS单元测试用例和伊斯坦布尔来获取覆盖率报告。 我的karma.conf.js文件如下 -
// karma.conf.js
module.exports = function(config) {
config.set({
files: [
'test/**/*.js'
],
// coverage reporter generates the coverage
reporters: ['progress', 'coverage'],
preprocessors: {
// source files, that you wanna generate coverage for
// do not include tests or libraries
// (these files will be instrumented by Istanbul)
'test/**/*.js': ['coverage']
},
// optionally, configure the reporter
coverageReporter: {
type : 'html',
dir : 'coverage/'
}
});
};
这里面的coverageReporter我想使用'html'和'lcov'类型。要做到这一点,我改变它如下 -
coverageReporter:{ 输入:'html','lcov', 导师:'覆盖/' }
然后我执行了karma start karma.conf.js
但得到了以下异常 -
C:\abc\npm-1.4.9>karma start karma.conf.js
05 05 2017 16:57:00.369:ERROR [config]: Invalid config file!
C:\abc\npm-1.4.9\karma.conf.js:45
type : 'html','lcov',
^
SyntaxError: Unexpected token ,
at createScript (vm.js:53:10)
at Object.runInThisContext (vm.js:95:10)
at Module._compile (module.js:543:28)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
非常感谢任何帮助。
答案 0 :(得分:0)
您必须为coverageReporter属性使用具有此结构的配置:
coverageReporter: {
// specify a common output directory
dir: 'coverage/',
reporters: [
// reporters not supporting the `file` property
{ type: 'html', subdir: '.' },
{ type: 'lcov', subdir: '.' },
]
}
这是在karma-coverage的readme中描述的。