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

时间:2016-04-27 23:44:51

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

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

我有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文件中有绝对路径。所有camelcase字母都等于他们在Finder中的路径。

Karmas lcov.info的内容

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

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

2 个答案:

答案 0 :(得分:1)

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

sonar.tests=test/spec 

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

@ElenaVilchik:你的方向很多,帮了很多

答案 1 :(得分:1)

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

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