【问题标题】:SonarQube and Karma code coverage - unresolved file pathsSonarQube 和 Karma 代码覆盖率 - 未解析的文件路径
【发布时间】:2016-08-22 12:25:49
【问题描述】:

我为这个特定的错误搜索了很多,但我没有机会找到合适的答案。

我有 SonarQube 5.4 并使用最新的 Karma 版本。

运行 sonar-runner 时出现以下错误:

INFO: Analysing /Users/foo/repository/BarJS/test/reports/coverage/lcov.info
INFO: Could not resolve 6 file paths in lcov.info, first unresolved path: /Users/foo/repository/BarJS/test/spec/Classname.test.js

而 foo 是我的用户名,而 BarJS 是项目的名称。

其他人因拼写错误或特定于大小写或相对路径而遇到这些错误。我检查了六次。 我的路径是正确的。

我的 Karma lcov.info 文件中有绝对路径。所有驼峰字母都与它们在 Finder 中的路径相同。

Karmas lcov.info 的内容

SF:/Users/foo/repository/BarJS/test/spec/Classname.test.js

有人遇到同样的问题吗?真的很烦

【问题讨论】:

  • 您是否将此文件导入到 SQ 中?
  • 是的,但不是手动的。我在我的项目文件夹中使用 sonar.properties 这个参数:sonar.javascript.lcov.reportPath
  • 对不起,我的意思是文件“Classname.test.js”
  • “sonar.sources”中是否包含“/Users/foo/repository/BarJS/test/spec/Classname.test.js”?
  • @ElenaVilchik:不,不包括在内。只引用我的 JS 文件,而不是我的测试

标签: javascript unit-testing sonarqube code-coverage karma-coverage


【解决方案1】:

在我的情况下,解决方案是添加

sonar.tests=test/spec 

到我的 sonar.properties。现在它像魅力一样发挥作用

@ElenaVilchik:非常感谢您的指导,帮了很多忙

【讨论】:

    【解决方案2】:

    我也有同样的问题。声纳扫描仪日志将 first unresolved path: ./app/modules/abc.js 显示为错误。我的问题的原因是,我的 sonar-project.properties 文件位于父目录而不是 app 文件夹中。我可以通过将lcov.info 文件中的目录路径更改为来自sonar-project.properties 所在目录的相对路径来解决此问题。

    例如:sonar-project.properties 文件位于名为 WebContent 的文件夹中。 lcov.info 文件将 SF:./app/modules/abc.js 显示为文件路径。将其更改为SF:./WebContent/app/modules/abc.js 后,测试结果发布到声纳没有任何问题。

    【讨论】:

      猜你喜欢
      • 2020-08-13
      • 2016-04-08
      • 2018-01-11
      • 2014-05-15
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 2017-01-24
      • 2020-08-25
      相关资源
      最近更新 更多