6

我有一个 +10K 行 Backbone Marionette 应用程序,我们正在通过 Karma 运行测试和覆盖。

我想包括所有来源,以便我们可以更好地了解我们的测试涵盖的内容。

我一直在通过includeAllSourceskarma 配置中的选项,但我仍然没有看到 karma 显示所有文件的结果(报告仅显示 +3K 行覆盖,或多或少是我们知道我们已经测试过的行数)。

难道我做错了什么?是否有另一种方法来包含所有来源

曾经有一个Karma 插件能够处理此问题,但该插件不再工作(已修改以使其运行,但结果仍然相同)。

有没有办法在--include-all-sources从业力运行时将选项传递给伊斯坦布尔?

4

3 回答 3

1

这个github 问题似乎正在解决您的问题,并且这个拉取请求似乎在 karma-coverage 插件的 0.5.2 版本中修复了它。

我希望您使用的是早期版本,并且只需升级即可解决您的问题!

于 2015-10-02T18:48:26.847 回答
0

试试这个插件:https ://github.com/kopach/karma-sabarivka-reporter 。它包括由模式指定的文件到覆盖率统计。因此,您可以确定,您的所有源文件都在覆盖率统计控制之下。

安装npm install --save-dev karma-sabarivka-reporter

并更新karma.conf.js类似这样:

reporters: [
  // ...
  'sabarivka'
  // 'coverage-istanbul' or 'coverage' (reporters order is important for 'coverage' reporter)
  // ...
],
coverageReporter: {
  include: [
      // Specify include pattern(s) first
      'src/**/*.(ts|js)',
      // Then specify "do not touch" patterns (note `!` sign on the beginning of each statement)
      '!src/main.(ts|js)',
      '!src/**/*.spec.(ts|js)',
      '!src/**/*.module.(ts|js)',
      '!src/**/environment*.(ts|js)'
  ]
},
于 2020-11-04T10:15:05.970 回答
-2

你只需要添加includeAllSources: true到你的coverageReporter,记者选项。

像这样:

coverageReporter: {
  includeAllSources: true
  ...
 }
于 2016-01-15T19:37:42.450 回答