【发布时间】:2017-01-07 20:00:48
【问题描述】:
我使用 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 run as JUnit 命令运行相同的测试用例时,它工作正常。
【问题讨论】:
-
有时简单地禁用字节码验证会有所帮助 - 请参阅此处:stackoverflow.com/questions/300639/…
-
@GhostCat 试过了,但没用
org.codehaus.mojo cobertura-maven-plugin 2.5.1版本> -noverify -
那么我建议:仔细研究一下eclipse在调用JUnit时的不同之处。哪些库,哪些 JVM 设置,等等。