我有一个关于声纳预览模式下的代码覆盖率的问题。
我正在尝试为我们的项目配置声纳并探索声纳的预览和增量模式。我们的想法是在 CI 中由我们的开发人员管理的功能分支中以连续的方式运行它们。目标是在不压倒我们的 sonarcube 及其数据库的情况下为他们提供代码质量的线索。
我看到在预览模式下运行声纳时,它会生成 json 格式的报告,因为我坚持默认设置,它位于:
target\sonar\sonar-report.json
但是,此报告不包含有关代码覆盖率的任何信息,仅包含有关违规的信息。
所以,我的问题是如何在预览和增量模式下运行声纳时包含有关覆盖范围的信息?
互联网上有很多半正确的答案,但到目前为止我找不到有效的解决方案。
我使用最新可用的声纳立方体 (5.1.2) Maven 3.3.3 是我们的构建工具。
覆盖是 jacoco 驱动的,所以我运行以下命令:
自己运行测试
mvn org.jacoco:jacoco-maven-plugin:0.7.4.201502262128:prepare-agent clean install -Pcoverage-per-test
运行声纳:
mvn sonar:sonar -Dsonar.dynamicAnalysis=reuseReports -Dsonar.analysis.mode=preview -Dsonar.java.coveragePlugin=jacoco
至于 coverage-per-test 配置文件,我有以下配置:
<profile>
<id>coverage-per-test</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<!-- Minimal supported version is 2.4 -->
<version>2.13</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>org.sonar.java.jacoco.JUnitListener</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.codehaus.sonar-plugins.java</groupId>
<artifactId>sonar-jacoco-listeners</artifactId>
<version>1.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
我几乎是声纳世界的新手,所以任何帮助都将不胜感激。
非常感谢提前