【问题标题】:SonarQube always displays - for Unit Tests Coverage in a Javascript projectSonarQube 始终显示 - 用于 Javascript 项目中的单元测试覆盖率
【发布时间】:2013-09-18 09:53:28
【问题描述】:

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

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

sonar.javascript.lcov.reportPath=app-test/target/phantom/jscover.lcov

在我看来,声纳运行器在执行期间正在读取正确的文件:

...
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
...

我已经尝试恢复路径中的斜线,但没有成功。

有什么建议吗?

【问题讨论】:

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

标签: javascript unit-testing code-coverage sonarqube sonar-runner


【解决方案1】:

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

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

我得到了我的报道。

【讨论】:

    猜你喜欢
    • 2013-09-16
    • 2014-10-25
    • 2014-05-04
    • 2016-01-31
    • 2019-11-30
    • 2018-06-29
    • 2016-10-13
    • 2018-10-18
    • 1970-01-01
    相关资源
    最近更新 更多