当前位置: 首页 > 知识库问答 >
问题:

SonarQube和Jacoco之间的线路覆盖范围不同

周培
2023-03-14

我有一个问题,在声纳Qube v6.7中,线路覆盖范围低于哈科报告。

当我打开声纳时,我的类文件有很多未覆盖的行。打开 jacoco 报告时,它显示这些行已覆盖。

我正在使用gradle插件。(v2.6)

有什么想法可以是问题吗?

共有1个答案

丁恩
2023-03-14

好的,在另一个线程中找到了解决方案。

刚刚添加到构建中。

subprojects {
tasks.withType(Test) {
    // redirect all coverage data to one file
    // ... needs cleaning the data prior to the build to avoid accumulating coverage data of different runs.
    // see `task cleanJacoco`
    jacoco {
//            destinationFile = file("$rootProject.buildDir/jacoco/${project.name}.exec")
        destinationFile = file("$rootProject.buildDir/jacoco/test.exec")
    }
}

task cleanJacoco(dependsOn: 'clean') {  delete "$buildDir/jacoco" }

}

 类似资料:
  • 我使用JaCoCo Maven插件和代理来测量和检索每晚测试的应用程序的代码覆盖率数据。这是该架构的模式: 我的Maven项目配置了JMeter Maven插件,在Maven阶段执行一些API测试,Jenkins服务器执行的Maven命令如下 正如您首先看到的,测试是通过阶段执行的,然后目标从测试服务器检索覆盖范围数据(我已将服务器配置为运行JaCo代理),最后将数据上传到我的Sonar服务器。

  • 我有一个项目,使用SonarQube来分析我的代码。正如标题所示,尽管我有多个JUnit测试,但在SQ报告(在我的服务器上)中覆盖率指标总是显示为0。我目前运行以下命令 在詹金斯建立我的项目时(詹金斯·马文项目)。 我有类似的问题前一段时间在不同的项目。我设法通过这篇文章解决了它。然而,这一次却无济于事。搜索了一下,找到了第1条和第2条(还有一些想法类似的)。两人都提出了一些好建议,但不幸的是,没

  • 我正在进行Maven多项目构建。我正在使用Powermock模拟用于编写单元测试用例的类。因此,为了获得jacoco的覆盖范围,我正在使用jacoco离线仪器,并设置声纳。dynamicAnalysis=重用报告以获得声纳覆盖范围。当我尝试这样做时,我会收到来自Jacoco和Sonar的错误: 我不知道为什么雅各科试图再次仪器类获得声纳覆盖。我被这个问题困扰了一段时间。任何帮助都会很棒。

  • 我正在将 Gradle 4.4 用于 JaCoCo 0.8.0 的 Java 项目,并将声纳与声纳贾瓦 5.0.1 配合使用。 我有一个用龙目岛和注释的课程。 我在build.gradle中的JaCoCo配置如下所示: 此外,我有lombok.confi文件,其属性为< code > lombok . addlombokgeneratedannotation = true ,生成的内容实际上有<

  • 我正在运行我的selenium项目模块,它不是主项目的一部分,我用Jacoco maven插件和surefire插件运行selenium测试,Jacoco只给出了selenium项目的代码覆盖(exec文件),而不是整个项目...我需要如何配置我的Jacoco和Surefire以获得外部/整个项目覆盖??

  • 我们有一个多模块的maven项目。 每个模块都有一对testng和powermock单元测试用例。我们正在使用jacoco进行代码覆盖率报告。但是,jacoco在分析单元测试复盖率时基于testng单元测试用例,而忽略了powermock单元测试用例。因此,总的代码覆盖率越来越低。 如何配置jacoco来同时获取testng和jacoco测试用例?