java.lang.VerifyError:使用mojo的Cobertura在分支目标上期望一个堆栈映射帧



我使用Cobertura来覆盖我的代码,但是在运行测试用例时,当我使用maven构建运行测试用例时,所有的测试用例都失败了。

 Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0x0000000: 033d 11ff ff3e 125b 1102 1fb8 0061 2a2b
    0x0000010: 1102 1f3d 1100 003e c600 1912 5b1c 1d04
    0x0000020: b800 b511 ffff 3e2b b600 bbc0 00b7 a700
    0x0000030: 141d 9b00 0f12 5b1c 1d03 b800 b511 ffff
    0x0000040: 3e01 b500 c012 5b11 0220 b800 61b1  

但是当我使用Eclipse运行作为JUnit命令运行相同的测试用例时,它工作得很好

在Eclipse中右键单击&In - In - cover结构&添加

参数选项卡中的-XX:-UseSplitVerifier到VM参数

在我的例子中,使用AdoptJDK 11,我能够使用-noverify VM参数消除错误。但是,Cobertura不支持Java 1:(

对于Gradle用户:

test {
    jvmArgs '-noverify'
}

相关内容

  • 没有找到相关文章

最新更新