【问题标题】:Karma command line doesn't display test results after adding code coverage添加代码覆盖率后,Karma 命令行不显示测试结果
【发布时间】:2013-09-16 21:20:36
【问题描述】:

我正在使用 Karma 进行一些单元测试并生成代码覆盖率统计信息。 当我在没有 karma 配置中的代码覆盖设置的情况下从命令行运行测试时,我可以在命令行中看到测试结果。即

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'
};

我可以创建单独的脚本来生成代码覆盖率并运行测试,在速度等方面我最好这样做,但我想知道我是否可以一起做,如果可以的话我会错过配置了什么?

【问题讨论】:

    标签: karma-runner


    【解决方案1】:

    当您在配置中添加“覆盖”报告器时,您似乎删除了默认情况下曾经存在的“进度”报告器。

    只需将配置中的记者部分更改为:reporters = ['coverage','progress'] 而不是 reporters = ['coverage']

    【讨论】:

    • 谢谢!至少在我的yo angular-generator 项目中,没有reporters = ['progress'] 默认值,因此这会覆盖隐藏的默认值。我可能应该将此问题报告给业力。
    猜你喜欢
    • 2023-03-14
    • 2019-01-18
    • 2012-01-18
    • 2020-08-13
    • 1970-01-01
    • 2017-12-29
    • 2020-04-29
    • 1970-01-01
    • 2016-01-20
    相关资源
    最近更新 更多