SonarQube 和 Karma 代码覆盖率 - 未解析的文件路径

SonarQube and Karma code coverage - unresolved file paths

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

我有 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 中的路径。

业力的内容lcov.info

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

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

就我而言,解决方案是添加

sonar.tests=test/spec 

给我的 sonar.properties。现在它工作得很好

@ElenaVilchik:非常感谢你的指导,帮助很大

我也遇到了同样的问题。声纳扫描仪日志显示 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 后,测试结果毫无问题地发布到声纳。