robolectric使用中出现java.lang.VerifyError

本文详细介绍了在使用Robolectric进行单元测试时遇到的java.lang.VerifyError异常,该异常通常发生在字节码验证阶段。文章提供了具体的错误信息,并给出了有效的解决方案:通过编辑配置,在VM选项中加入-ea-noverify参数,以跳过字节码验证,从而成功运行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

robolectric的使用中出现了

java.lang.VerifyError: Expecting a stackmap frame at branch target 37
Exception Details:
  Location:
   略
   @3: ifnonnull
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0x0000000: b200 57c7 0022 122e 594b c2b2 0057 c700
    0x0000010: 0dbb 002e 59b7 006d b300 572a c3a7 0008
    0x0000020: 4c2a c32b bfb2 0057 b0                 
  Exception Handler Table:
    bci [11, 29] => handler: 32
    bci [32, 35] => handler: 32

点击这里可见解决方案.

具体的解决如下

1.点击Edit configuration1.点击Edit configuration
2.选中对应的测试用例,选中Configuration->在VM options中填入

-ea -noverify

点击OK 允许即可
在这里插入图片描述
3. 运行的结果如下: (done)
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值