【问题标题】:SonarQube doesn't add JavaScript coverageSonarQube 不添加 JavaScript 覆盖率
【发布时间】:2018-11-04 23:51:47
【问题描述】:

我们有一个包含 Java 和 JavaScript 子项目的多模块 maven 项目。 对于 SonarQube 分析,我们为 JavaScript 模块添加了配置。

<sonar.sources>src</sonar.sources>
<sonar.exclusions>src/test/**/*, src/**/resources/simple/**/*</sonar.exclusions>
<sonar.coverage.exclusions>src/**/resources/simple/**/*, src/registerServiceWorker.js</sonar.coverage.exclusions>
<sonar.projectBaseDir>.</sonar.projectBaseDir>
<sonar.javascript.coveragePlugin>lcov</sonar.javascript.coveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.javascript.jstest.reportsPath>opui-client/target/surefire-reports</sonar.javascript.jstest.reportsPath>
<sonar.javascript.lcov.reportPath>coverage/lcov.info</sonar.javascript.lcov.reportPath>
<sonar.language>js</sonar.language>

SonarQube 显示分析日志。

Analysing [C:\Users\mzafar\opui-19dec\path\to\file\coverage\lcov.info]
[WARNING] Problem during processing LCOV report: can't save DA data for line 1491 (Line with number 1491 doesn't belong to file src/modules/core/NagraGrid.js).

lcov.info的一部分是这样的:

SF:C:\Users\mzafar\path\to\js\code\src\modules\core\search\opuiSearch\AdvancedSearchOptionsPopup.js
FN:89,(anonymous_0)
FN:100,(anonymous_1)
FN:113,(anonymous_2)
FN:119,(anonymous_3)
FN:125,(anonymous_4)
FN:129,(anonymous_5)
FN:167,(anonymous_6)
FN:179,(anonymous_7)
FN:188,(anonymous_8)
FN:197,(anonymous_9)
FN:200,(anonymous_10)
FN:209,(anonymous_11)
FNF:12
FNH:10
FNDA:8,(anonymous_0)
FNDA:4,(anonymous_1)
FNDA:1,(anonymous_2)
FNDA:1,(anonymous_3)
FNDA:1,(anonymous_4)
FNDA:26,(anonymous_5)
FNDA:26,(anonymous_6)
FNDA:0,(anonymous_7)
FNDA:26,(anonymous_8)
FNDA:1,(anonymous_9)
FNDA:1,(anonymous_10)
FNDA:0,(anonymous_11)
DA:10,3
DA:82,3
DA:90,8
DA:91,8
DA:101,4
DA:102,4
DA:114,1
DA:120,1
DA:121,1
DA:126,1
DA:130,26
DA:131,0
DA:134,26
DA:136,2
DA:148,2
DA:160,22
DA:168,26
DA:180,0
DA:189,26
DA:198,1
DA:201,1
DA:210,0
DA:211,0
LF:23
LH:19
BRDA:101,0,0,4
BRDA:101,0,1,0
BRDA:120,1,0,1
BRDA:120,1,1,0
BRDA:130,2,0,0
BRDA:130,2,1,26
BRDA:130,3,0,26
BRDA:130,3,1,0
BRDA:134,4,0,2
BRDA:134,4,1,2
BRDA:134,4,2,22
BRDA:195,5,0,11
BRDA:195,5,1,15
BRDA:232,6,0,25
BRDA:232,6,1,1
BRDA:247,7,0,0
BRDA:247,7,1,26
BRDA:265,8,0,0
BRDA:265,8,1,26
BRDA:275,9,0,26
BRDA:275,9,1,0
BRDA:276,10,0,26
BRDA:276,10,1,0
BRF:23
BRH:15
end_of_record

但 JavaScript 文件覆盖率仍然为 0。我们使用的是 SonarQube 6.7。如果某些配置错误,有人可以帮助我吗?

【问题讨论】:

  • src/modules/core/NagraGrid.js 中有多少行?自上次修改 NagraGrid.js 以来,lcov.info 是否更新?
  • @Pierre-Yves 因为它是构建的一部分,所以必须每天更新。但我想知道 lcov.info 也指一些已被删除的旧文件。 NagraGrid.js 有 1490 行代码。我们正在使用 jest 进行测试,并使用 --coverage 选项进行覆盖。
  • 如果 NagraGrid.js 有 1490 行,而 lcov.info 指的是第 1491 行的代码,那么你的 lcov.info 有问题。可能在 SonarQube 分析之前或在分析代码的同一版本上没有更新。
  • @Pierre-Yves 我使用了 并且覆盖率与文件一起出现,但属性 正确,因为我没有看到Javascript 单元测试文件,只有 Java 测试文件?
  • 这是否意味着您解决了最初的问题?如果是这样,您应该在此处添加答案。我建议开一个关于导入测试结果的新问题:sonar.javascript.jstest.reportsPath不再存在。

标签: javascript sonarqube sonarqube-scan


【解决方案1】:

我添加了最新的声纳属性​​p>

<sonar.javascript.lcov.reportPaths>path/to/lcov.info</sonar.javascript.lcov.reportPaths>

这为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 2014-08-19
    • 1970-01-01
    • 2018-01-16
    • 2021-07-09
    • 2021-06-04
    • 2016-02-29
    • 2021-05-09
    • 1970-01-01
    • 2022-07-01
    相关资源
    最近更新 更多