Karma JS - 如何包含所有来源?

时间:2015-09-28 20:58:34

标签: javascript karma-runner karma-coverage

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

我想包含所有来源,以便我们更好地了解我们的测试涵盖的

我已经在业力配置中传递includeAllSources选项,但我仍然没有看到业绩显示所有文件的结果(报告仅显示+ 3K行封面,或多或少我们知道我们测试过的行数。)

我做错了吗? 是否有其他方式可以包含所有来源

有一个Karma plugin可以处理这个但插件不再工作(修改后可以运行,但结果仍然相同)。

在从Karma运行时,是否有办法将--include-all-sources选项传递给伊斯坦布尔?

3 个答案:

答案 0 :(得分:1)

github issue似乎正在解决您的问题,而pull request似乎已在karma-coverage插件的0.5.2版中修复此问题。

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

答案 1 :(得分:0)

尝试使用此插件:https://github.com/kopach/karma-sabarivka-reporter。它包括模式指定的文件以覆盖统计信息。因此,可以确定,所有源文件都处于coverage统计信息控制之下。

安装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)'
  ]
},

答案 2 :(得分:-2)

您只需将includeAllSources: true添加到coverageReporter,即报告选项。

像这样:

coverageReporter: {
  includeAllSources: true
  ...
 }