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

JaCoCo 测试覆盖率问题构建失败

蓬威
2023-03-14

我面临以下问题,

[错误]无法在项目 Vsts 上执行目标组织 apache.maven.plugins:maven-antrun-plugin:1.8:run(默认):发生蚂蚁构建异常:创建报告时出错

[ERROR]关于Ant部件……@8:11 in/__w/49/s/target/antrun/build main。xml:分析myapp/target时出错/demo.war@WEB-INF/库/lombok-1.16.22.jar@lombok/eclipse/agent/EclipseLoaderPatcherTransports.SCL.lombok。无法添加同名的不同类:lombok/eclipse/agent/EclipseLoaderPatcherTransports

[错误]要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。

[错误]使用-X开关重新运行Maven以启用完整的调试日志记录。

我已经尝试在pom中从Jacoco配置中排除该类。但仍然面临这个问题。

共有1个答案

柳浩大
2023-03-14

我在gradle中遇到了同样的问题,您需要排除jar,如下所示。

使用--stacktraces选项运行gradle以获取更多日志输出。

Caused by: java.io.IOException: Error while analyzing profilecleaner-1.0.jar@BOOT-INF/lib/lombok-1.16.4.jar@lombok/eclipse/agent/EclipseLoaderPatcherTransplants.SCL.lombok with JaCoCo 0.8.8.202204050719/5dcf34a.
        at org.jacoco.core.analysis.Analyzer.analyzerError(Analyzer.java:163)
        at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:135)
        at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:158)
        at org.jacoco.core.analysis.Analyzer.analyzeAll(Analyzer.java:195)
        at org.jacoco.core.analysis.Analyzer.analyzeZip(Analyzer.java:267)
        at org.jacoco.core.analysis.Analyzer.analyzeAll(Analyzer.java:198)
        at org.jacoco.core.analysis.Analyzer.analyzeZip(Analyzer.java:267)
        at org.jacoco.core.analysis.Analyzer.analyzeAll(Analyzer.java:198)
        at org.jacoco.ant.ReportTask.createBundle(ReportTask.java:573)
        at org.jacoco.ant.ReportTask.createReport(ReportTask.java:545)
        at org.jacoco.ant.ReportTask.execute(ReportTask.java:496)
        ... 150 more
Caused by: java.lang.IllegalStateException: Can't add different class with same name: lombok/eclipse/agent/EclipseLoaderPatcherTransplants
        at org.jacoco.core.analysis.CoverageBuilder.visitCoverage(CoverageBuilder.java:106)
        at org.jacoco.core.analysis.Analyzer$1.visitEnd(Analyzer.java:100)
        at org.objectweb.asm.ClassVisitor.visitEnd(ClassVisitor.java:377)
        at org.jacoco.core.internal.flow.ClassProbesAdapter.visitEnd(ClassProbesAdapter.java:100)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:748)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:424)
        at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:117)
        at org.jacoco.core.analysis.Analyzer.analyzeClass(Analyzer.java:133)
        ... 159 more

并排除罐子

jacocoTestReport{
    doFirst {
        delete fileTree (dir: "${buildDir}/resources/main", include: "profilecleaner*.jar")
    }
}
 类似资料:
  • 我在测试android以创建覆盖率测试报告时遇到问题。我使用./gradlew createDebugCoverageReport命令创建覆盖率报告。已创建报告,但所有测试的结果均为%0。第一个设备已植根,但第二个设备未植根。我们使用这两个设备测试勺子,并查看勺子输出。所以这两个设备一起使用。问题:当我们使用第一个设备(根设备)运行此命令时,将按预期创建所有覆盖率测试结果,但当我们同时使用两个设备

  • 我正在使用arquillian和tomee远程插件进行集成测试。它工作得很好。但我的代码覆盖率不起作用。我使用Jacoco插件来覆盖代码。在我的Java类Java中遇到异常。朗,乐器。IllegalClassFormatException:检测com/demo/EmpService时出错 如何使用Jacoco在远程容器中进行代码覆盖? 注意:我已经在集成阶段将javaagent(argLine)传

  • 问题内容: 从不同的代码库执行业务测试时,我必须获得应用程序的代码覆盖率。 我使用:Maven作为我的构建Jbehave作为我的测试框架。测试是用Java编写的。 我的应用程序是部署在tomcat上的一组war文件。 应用程序代码库与测试代码库是分开的。 为了获得覆盖范围,我遵循以下步骤。 1使用maven编译测试代码。 2将应用程序类从其构建位置($ {app.code.dir} / targe

  • 我正在将ANT构建转换为Maven。我不用声纳。 在Maven中,Jacoco似乎并没有报告单元测试本身的覆盖率,而ANT报告。我也一直在尝试为我的Maven build获得这个,但是我没有找到任何东西。 似乎我应该添加一个

  • 11.3. 测试覆盖率 就其性质而言,测试不可能是完整的。计算机科学家Edsger Dijkstra曾说过:“测试能证明缺陷存在,而无法证明没有缺陷。”再多的测试也不能证明一个程序没有BUG。在最好的情况下,测试可以增强我们的信心:代码在很多重要场景下是可以正常工作的。 对待测程序执行的测试的程度称为测试的覆盖率。测试覆盖率并不能量化——即使最简单的程序的动态也是难以精确测量的——但是有启发式方法

  • SonarQube不再显示我用jacoco分析的项目的测试覆盖率。似乎SonarQube有了更新(我发现新规则的日期是5月19日)。我还假设,从那时起,不再评估使用jacoco maven插件收集的测试覆盖率。我见过类似问题的老问题,但那是4年前的事了:JaCoCo SonarQube不兼容版本1007 我将POM更新到最新的插件版本0.8.4,但无济于事。有什么想法吗?我需要在哪里更改一些东西,