Sonarcloud显示JS的0代码覆盖率

时间:2019-08-09 09:41:57

标签: node.js sonarqube circleci sonarcloud

我们正在尝试将sonarcloud与circleci集成在一起,对于每次提交,circleci都会触发带有测试用例的构建,并且项目基于Nodejs。执行完成后,仪表板仍将代码覆盖率%显示为0。

sonar-project.properties

  

sonar.projectName = test sonar.language = js sonar.sources = src   sonar.tests = src / app / client / src / app /   sonar.javascript.lcov.reportPaths = src / app / client / coverage / lcov.info   sonar.projectKey = harshavardhanc_test sonar.organization = harshavardhanc   sonar.host.url = https://sonarcloud.io sonar.login = xxxxxxxxx

在circleci构建结束时,我们将调用声纳扫描仪命令,并且执行成功。

请帮助我如何获取仪表板中的覆盖率值。

1 个答案:

答案 0 :(得分:0)

Sonarqube和声纳扫描仪不提供生成代码覆盖率报告的工具。 Sonarqube用于分析覆盖率报告的结果,并将其转换为具有严重性等的人类可读格式。

要获取覆盖率报告,您需要选择一个可以为您生成此报告的工具。 Test Coverage & Execution page是一个不错的起点。他们似乎说LCOV可以为Sonarqube可以处理的javascript生成报告。

然后您可以使用sonar.javascript.lcov.reportPaths属性将声纳扫描仪指向LCOV覆盖率报告文件的输出。

因此,您基本上需要执行以下步骤进行分析:

  1. 声纳扫描仪开始
  2. 还原软件包
  3. 构建应用程序
  4. 使用代码覆盖率工具来测试和计算应用程序的覆盖率
  5. 声纳扫描仪端