SonarQube始终显示-用于Javascript项目中的单元测试覆盖率

SonarQube始终显示-用于Javascript项目中的单元测试覆盖率,javascript,unit-testing,code-coverage,sonarqube,sonar-runner,Javascript,Unit Testing,Code Coverage,Sonarqube,Sonar Runner,我正在使用SonarQube进行Javascript项目。 在仪表板中,我看到单元测试成功率为100.0%,但我没有看到单元测试覆盖率的值 我正在使用JSCover创建一个LCOV文件,并将其传递给Sonar-project.properties文件中的Sonar: sonar.javascript.lcov.reportPath=app-test/target/phantom/jscover.lcov 在我看来,sonar runner在执行过程中读取了正确的文件: ... 10:17:47

我正在使用SonarQube进行Javascript项目。 在仪表板中,我看到单元测试成功率为100.0%,但我没有看到单元测试覆盖率的值

我正在使用JSCover创建一个LCOV文件,并将其传递给Sonar-project.properties文件中的Sonar:

sonar.javascript.lcov.reportPath=app-test/target/phantom/jscover.lcov
在我看来,sonar runner在执行过程中读取了正确的文件:

...
10:17:47.111 INFO  - Sensor LCOVSensor...
10:17:47.112 INFO  - Analysing C:\Users\Ubi60\.jenkins\jobs\T2Client\workspace\app-test\target\phantom\jscover.lcov
10:17:47.131 INFO  - Sensor LCOVSensor done: 20 ms
...
以下是我的jscover.lcov文件中的几行:

SF:C:/Users/Ubi60/.jenkins/jobs/T2Client/workspace/app-test/target/phantom/Dashboard/app/store/DeviceDataStore.js
FNF:0
FNH:0
DA:4,1
DA:10,14
DA:12,14
DA:13,1
end_of_record
SF:C:/Users/Ubi60/.jenkins/jobs/T2Client/workspace/app-test/target/phantom/Dashboard/app/store/FollowUnitStore.js
FNF:0
FNH:0
DA:4,1
DA:10,14
DA:12,14
DA:13,1
end_of_record
...
我已经尝试恢复路径中的斜线,但没有运气


有什么建议吗?

设置名称似乎是sonar.javascript.lcov.reportPaths。我有:

sonar.javascript.lcov.reportPaths=coverage/lcov.info

我得到了我的覆盖范围。

您是否在执行JSCover的同一位置运行SonarQube分析?通常情况下,单元测试在文件夹“Foo”中运行,而SonarQube分析在文件夹“Bar”中运行:从那里,SonarQube无法理解用于引用LCOV报告中JS文件的绝对路径。我从其他位置运行SonarQube,因此我尝试手动更改LCOV报告中的绝对路径,但结果是一样的——什么都没有。在Sonar中哪里可以找到我应该在LCOV报告中使用的正确路径?在您的示例中,您应该在“C:/Users/Ubi60/.jenkins/jobs/T2Client/workspace/app test”文件夹中触发SonarQube分析。