报告Jenkins中的Angular 2代码覆盖率 - 覆盖范围类别之间的不匹配

时间:2017-01-18 20:22:00

标签: angularjs node.js jenkins code-coverage

我们为Angular 2代码库提供了Jenkins构建,它以类似于我们的Java项目的测试和覆盖率报告的方式报告测试和代码覆盖率信息。我们使用Karma使用以下karma.conf.js生成Cobertura兼容的覆盖率数据:

coverageReporter: {
  dir: 'coverage/',
  reporters: [{
    type: 'html',
    dir: 'coverage'
  }, {
    type: 'lcovonly',
    subdir: 'report-lcov'
  }, {
    type: 'text-summary'
  },
  // this is the important part:
  { type: 'cobertura', subdir: '.', file: 'cobertura.xml' }
  ]
}

我们使用Jenkins的Publish Cobertura Coverage Report插件并将其指向cobertura.xml文件。

我们看到的问题是,我们的实际覆盖率似乎比我们的Jenkins UI中报告的要少得多。我相信这是因为Jenkins的覆盖类别是“包”,“文件”,“类”,“方法”,“行”和“条件”,而来自Karma的类别是“语句”,“分支”, “功能”,“线条”。似乎排队的这两个类别中只有两个是“行”,而且这是唯一一个报告覆盖率不是100%的类别。

有没有办法从Karma覆盖率报告中正确翻译类别并将其显示在Jenkins中?还需要任何解决方案来显示构建摘要页面上的覆盖历史记录图。

一些截图:

我们的一些npm test命令:

npm test output

Jenkins构建摘要页面:

jenkins build screen

詹金斯报道详情屏幕:

jenkins coverage details screen

0 个答案:

没有答案