我们有一个多模块maven项目。我们正在使用jacoco进行代码覆盖率分析。我准备了pom文件来运行测试用例并获取代码覆盖率。当我在本地构建项目时,我可以在sonar仪表板上看到代码覆盖率。
将更改推送到github之后,当jenkins构建触发时,sonar仪表板上的代码覆盖率不可用。我在jenkins构建日志中发现以下错误:
未收集覆盖范围信息。也许您忘记了在编译的类中包含调试信息?
在成功的jenkins构建之后,我如何使代码覆盖率可用?
您必须确保在编译Java或Groovy等代码时,调试选项是打开的。我使用Gradle(而不是Maven ),为了启用调试选项,我在Gradle中做了类似这样的事情。您可以将以下代码放在项目的build.gradle或顶级$grad le _ HOME/init . d/some-global . grad le文件中(在所有项目{...}节)。
tasks.withType(JavaCompile) {
options.debug = true
options.compilerArgs = ["-g"]
}
tasks.withType(GroovyCompile) {
options.debug = true
}
在 Maven 中执行相同的操作(如何将调试选项设置为使用 -g 表示 Java,而将调试选项用于基于 Groovy 的项目)。
在此之后,您需要做的就是在调用sonarRunner(即Gradle中的sonar runner任务)时,确保sonar.xx.yyy变量设置正确。
我将这些变量设置为(UT用于单元测试,IT用于集成测试)。仅当附加JacoAgent时,才会生成IT代码覆盖率。jar到运行应用程序的.war/的Tomcat/ExternalJVM(而不是Gradle/Maven JVM)。ear文件。
-Dsonar.jacoco.itReportPath=build/jacoco/IT/jacocoIT.exec
-Dsonar.jacoco.reportPath=build/jacoco/UT/jacocoUT.exec
还有其他声纳。yy变量,您可以在在线/文档中看到。
在Maven中,您可以使用以下命令打开Java调试:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<debug>true</debug>
<debuglevel>lines,vars,source</debuglevel>
</configuration>
</plugin>
我使用的声纳版本6.7.6和maven 3.3.9我有以下配置在我的Jenkins它生成的雅科报告和测试用例报告预期如下路径。但是我看到Sonarqube的代码覆盖率为0%,有人能帮我吗? 马文戈尔 -Dmaven.test.failure.ignore=true -U clean org.jacoco:jacoco-maven-plugin:1.1.1:prepare-agent test 家长
我正在使用Sonarqube分析我的Nestjs项目。当我用jest运行单元测试时,它们都通过了,代码覆盖率约为80%。在Sonarqube上,它仍然显示为0%。 我的sonar-project.properties文件如下 我的jest.json如下 我package.json的相关部分 我的源代码和它们各自的单元测试在同一个位置。测试文件有扩展名。spec.ts 在本地运行测试时,所有测试都通
我们有一个多模块的maven项目。 每个模块都有一对testng和powermock单元测试用例。我们正在使用jacoco进行代码覆盖率报告。但是,jacoco在分析单元测试复盖率时基于testng单元测试用例,而忽略了powermock单元测试用例。因此,总的代码覆盖率越来越低。 如何配置jacoco来同时获取testng和jacoco测试用例?
声纳没有接收IntelliJidea/Jacoco覆盖报告生成的代码覆盖报告。 这是我试图让声纳接收jacoco报告的一个样本 JacocoSensor:找不到JaCoCo报告:/export/.../buildagent2/work/.../.teamcity/coverage_jacoco/JaCoCo.exec 声纳: 此组件没有覆盖范围详细信息。
我正在尝试在Android Studio中使用Gradle为一个新的空Android项目获得代码覆盖率。 我设法让声纳工作,但我似乎不能解决代码覆盖。(以前从未做过类似的事情) 我看过JaCoCo,但它与Android不兼容。科伯图拉也是如此。艾玛似乎还没和格雷迪一起工作。 我正在使用Gradle 1.11、Android Studio 0.5.1和Sonar Runner 2.3
我正在使用Jacoco插件使用jenkins获得代码覆盖率。我能够看到代码覆盖率。当我尝试使用相同的jacoco.exec文件来生成声纳代码覆盖率时,它显示:由于没有类文件,无法对项目覆盖率进行JaCoCo分析。我使用以下声纳属性: 我正在使用SonarQube 5.3