You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Mockito单元测试无法解析MockitoAnnotations.openMocks问题求助

解决MockitoAnnotations.openMocks(this)无法调用的问题

核心原因

你使用的Mockito版本是2.19.0,而MockitoAnnotations.openMocks(this)是Mockito 3.4.0及以上版本才新增的API,旧版本不存在这个方法,这是导致调用失败的根本原因。

具体修复方案

方案1:升级Mockito版本(推荐)

将Mockito核心及Kotlin扩展的版本统一升级到3.4.0+(建议选用稳定的新版本,比如4.11.0),同时移除不必要的MockK依赖(同时引入Mockito和MockK会引发依赖冲突,二者选其一即可)。

修改后的依赖示例:

testImplementation "org.mockito:mockito-core:4.11.0"
testImplementation "org.mockito.kotlin:mockito-kotlin:4.11.0"
testImplementation "androidx.arch.core:core-testing:2.1.0"

方案2:使用旧版本兼容方法

如果不想升级Mockito版本,可以直接替换成旧版本的初始化方法:MockitoAnnotations.initMocks(this),同样能完成Mock对象的初始化。

额外注意事项

  • 确保测试类放在src/test/java目录下(而非androidTest),因为mockito-core是针对本地单元测试的依赖。
  • 不要同时使用Mockito和MockK两个Mock框架,二者的API与实现逻辑不同,容易引发类加载冲突。

内容的提问来源于stack exchange,提问作者Qadir Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 09:32:01