如何使用 Sonarqube 聚合来自不同语言模块的测试计数?

How to aggregate tests count from different languages modules with Sonarqube?

我在包含 Java 和 Javascript 模块的 Maven 多模块项目上使用 Sonarqube。

我的所有测试结果(似乎)都由 Sonarqube 读取,因为代码覆盖率看起来不错。当我逐个文件检查时,它看起来也被正确覆盖了。

但是,项目主页上的测试数量运行不正确:我只有Java测试数量(617)。 Java缺少脚本测试计数 (1646)。

这是我在根目录中的 Sonar 属性 pom.xml:

<sonar.projectVersion>${project.version}</sonar.projectVersion>
<sonar.sourceEncoding>UTF-8</sonar.sourceEncoding>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>

<java-module-1sonar.projectKey>module1</java-module-1sonar.projectKey>
<java-module-1sonar.projectBaseDir>../module1</java-module-1sonar.projectBaseDir>

<java-module-2sonar.projectKey>module2</java-module-2sonar.projectKey>
<java-module-2sonar.projectBaseDir>../module2</java-module-2sonar.projectBaseDir>

<java-module-3sonar.projectKey>module3</java-module-3sonar.projectKey>
<java-module-3sonar.projectBaseDir>../module3</java-module-3sonar.projectBaseDir>

<javascript-modulesonar.projectKey>module4</javascript-modulesonar.projectKey>
<javascript-modulesonar.projectBaseDir>../module4</javascript-modulesonar.projectBaseDir>

我是不是做错了什么?我必须在 Sonarqube 服务器部分配置一些东西吗?

感谢您的帮助。

我终于明白我错过了什么:

  • 首先,我没有在 karma.conf.js
  • 中生成单元测试报告
  • 然后,我发现了一个非常有用的 karma 声纳报告:karma-sonarqube-unit-reporter
  • 最后,我更新了 pom.xml 以使用通用测试结果 (sonar.testExecutionReportPaths 属性)

现在可以完美运行了。我希望我的奋斗可以帮助到其他人:)