Karma JS -如何包括所有的所有来源

Karma JS -- How to Include all All Sources?

本文关键字:何包括 JS Karma      更新时间:2023-09-26

我有一个+10K线骨干木偶应用程序,我们正在通过Karma运行测试和覆盖。

我想包含所有的源代码,这样我们可以更好地了解在我们的测试中是什么。

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

我做错了什么吗?是否有其他方法包含所有的源?

曾经有一个Karma插件能够处理这个问题,但是这个插件不再工作了(修改使其运行,但结果仍然是一样的)。

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

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

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

这个github问题似乎解决了你的问题,这个pull请求似乎在0.5.2版本的karma-coverage插件中修复了它。

我希望你使用的是较早的版本,只是升级解决你的问题!

您只需要将includeAllSources: true添加到您的coverageReporter, Reporter选项。

:

coverageReporter: {
  includeAllSources: true
  ...
 }