Java 为什么是JUnit;运行方式->;JUnit“;及;封面组件->;Junit“;有不同的行为吗?

Java 为什么是JUnit;运行方式->;JUnit“;及;封面组件->;Junit“;有不同的行为吗?,java,eclipse,jvm,bytecode,junit-runner,Java,Eclipse,Jvm,Bytecode,Junit Runner,我有一个JUnit测试。但是当我使用“runas->JUnit”时,它将成功,而当我使用“Cover as->JUnit”时,它将失败。为什么呢? 代码确实存在一些问题。在代码中,我使用了一些遗留代码(我无权更改),其中包含一个太大的方法(超过64KB)。为什么“runas->JUnit”不能暴露这个问题 使用“Cover as”运行时,插装将在方法中添加额外的代码(以报告测试中何时命中每一行/表达式)。如果您的消息已经非常大,那么额外的检测很可能会使其超过64K限制 这并不意味着代码有任何问题

我有一个JUnit测试。但是当我使用“runas->JUnit”时,它将成功,而当我使用“Cover as->JUnit”时,它将失败。为什么呢? 代码确实存在一些问题。在代码中,我使用了一些遗留代码(我无权更改),其中包含一个太大的方法(超过64KB)。为什么“runas->JUnit”不能暴露这个问题

使用“Cover as”运行时,插装将在方法中添加额外的代码(以报告测试中何时命中每一行/表达式)。如果您的消息已经非常大,那么额外的检测很可能会使其超过64K限制


这并不意味着代码有任何问题-它只是意味着您将无法在覆盖率测试中使用它:(

当“Cover as”时显示的消息是什么失败?原因是什么?合理。有没有办法绕过这个问题?@Edmond:如果你没有办法让这个方法变得更小,我怀疑没有-至少,你目前使用的任何覆盖工具都没有。你可能会发现不同的覆盖工具有不同的仪器足迹-你甚至可以减少e当前工具的插入。是否可以告诉覆盖率工具跳过此类。此类实际上是自动生成的类(这就是为什么我们无法控制其大小)也不太重要。@Edmond:我不知道你在使用哪个覆盖工具——我不知道现在JUnit中是否有内置的东西,或者是像EMMA这样的独立的东西。