提问者:小点点

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


我在一个Maven多模块项目中使用Sonarqube,其中包含Java和Javascript模块。

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

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

以下是我在根pom. xml中的Sonar属性:

<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服务器部分配置一些东西吗?

谢谢你的帮助。


共1个答案

匿名用户

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

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

现在它工作得很好。我希望我的努力能帮助其他人:)