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

Eclipse:使用覆盖率进行测试抛出java.lang.Instrument.IllegalClassFormatException

艾浩穰
2023-03-14

我最近在我的Eclipse设置中做了一些改动,主要是我将Java版本从8升级到了15,我花了一段时间才注意到,但是我不能再对我的任何项目进行覆盖测试了,因为它抛出了一个Java.lang.Instrument.IllegalClassFormatException和一个巨大的StackTrace。

它还会弹出一个错误,上面写着“no tests found with test runner'junit5'”Java库中的某个地方、Junit或其他东西一定坏了,而我不知道是什么。普通测试、调试html" target="_blank">测试甚至Maven测试都正常工作,没有任何错误的迹象。

以下是Junit失败跟踪:

这里是控制台StackTrace:

我发现堆栈跟踪的奇怪之处在于,它似乎尝试使用Junit4,尽管我在Eclipse更改之前和之后都一直使用5,但这是我能从它读到的唯一东西。

有没有人知道我的Eclipse中的哪个设置坏了或者帮助我解码StackTrace?

共有1个答案

贾成天
2023-03-14

尝试使用Java 11或Java 1.8.281 JaCoCo版本0.8.5

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

  • 我正在尝试集成Jacoco,以便使用Maven获得Cucumber测试的代码覆盖率。以下是我的项目结构: > -src主java页面 -src主java助手 -src-测试-java-资源-功能 -src测试java步骤 以下是我的POM中的Jacoco配置。xml 我能够生成代码覆盖率报告。但是,在报告中,它涵盖了-src主包中的所有类。根据不同的google搜索和SO帖子,我试图修改POM以排

  • 我正在测试Django 1.6应用程序,需要使用和提供一些指导。我们的Django应用程序具有以下结构: 我们顶部的目录有一个目录,其中包含我们所有的Django应用程序。当我测试完整的应用程序时,我收到了单个应用程序内每个包/模块的巨大覆盖输出。但是,我希望将覆盖结果(语句、未命中、覆盖%)分组到应用级别,而不是单个文件级别。 我能做这个吗? 以下是我的相关要求:

  • 我试图了解Eclipse使用的测试覆盖率指标是什么类型的。 我编写了两个简单的函数,如下所示: 然后我调用了单元测试中的函数,如下所示: 因此,对于函数g,Eclipse表示“4个分支中有1个遗漏”,并将第18行标记为黄色。 另一方面,覆盖率窗口显示函数g被100%覆盖,而第一列上的绿色条没有函数f长,我以为这些条显示了你离100%有多近。 所以我试图理解这一切。Eclipse是否使用: 分支机构

  • 对不起我的英语。我对junit测试有问题。客户机要求覆盖所有类,即使是dto/model/entity(即使是错误的,我也必须这样做)。但我在测试getter和setter时遇到困难。我无法覆盖,我已经测试了许多解决方案,但要么覆盖率为0,要么出现错误,我该怎么办? 我的班级: 我的班级测试 always error,例如last when:when()需要的参数必须是“模拟的方法调用”。例如:w

  • v2.0 Codecov报表 , 从2017-12-29后开始统计 测试覆盖率为 : , 可以从 https://codecov.io/gh/apache/dubbo 页面得到覆盖率报表 v1.0 基于 2.0.12 版本,统计于 2012-02-03