我正在使用 Karma 进行一些单元测试并生成代码覆盖率统计信息。
当我在 karma 配置中没有代码覆盖设置的情况下从命令行运行测试时,我可以在命令行中看到测试结果。 IE
Executed 3 of 3 SUCCESS (0.465 secs / 0.048 secs)
当我将代码覆盖率设置添加到配置并运行测试时,会生成覆盖率文件,但我在命令行中看不到测试结果。
我的配置是:
basePath = '../';
files = [
JASMINE,
JASMINE_ADAPTER,
'https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js',
'app/lib/angular/angular.js',
'app/lib/angular/angular-scenario.js',
'test/lib/angular/angular-mocks.js',
'app.js', // include app first as other module hang off it
'public/javascript/**/*.js',
'test/unit/**/*.js'
];
/* code coverage settings */
preprocessors = {
'**/public/javascript/**/*.js': 'coverage'
};
reporters = ['coverage'];
/* end code coverage settings */
autoWatch = true;
browsers = ['Chrome'];
junitReporter = {
outputFile: 'test_out/unit.xml',
suite: 'unit'
};
我可以创建单独的脚本来生成代码覆盖率并运行测试,并且在速度等方面我最好这样做,但我想知道我是否可以一起完成它们,如果可以,我是否错过了配置?
最佳答案
当您在配置中添加“coverage”报告器时,您似乎删除了默认情况下曾经存在的“进度”报告器。
只需将配置的记者部分更改为:reporters = ['coverage','progress']
而不是 reporters = ['coverage']
关于karma-runner - 添加代码覆盖率后,Karma 命令行不显示测试结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18032311/