Mockito与 PowerMock 版本对应关系

问题:java.lang.ClassNotFoundException: org.mockito.exceptions.Reporter

1. 我的jar版本 与 问题解决

我的jar版本:

 mockito-core: 2.8.9
 powermock-api-mockito:1.7.4
 powermock-module-junit4:1.7.4

问题解决:

解决方案:powermock-api-mockito 改为 powermock-api-mockito2
powermock-api-mockito 支持 mockito 1.x
powermock-api-mockito2 支持 mockito 2.x

2. 问题排查过程:

2.1 检查版本对应关系

怀疑是版本问题,所以在官网找到了下图:版本对应关系
在这里插入图片描述
对照图片上,并木有什么问题。

2.2 检查是否缺少jar依赖

在这里插入图片描述
PowerMock 支持 EasyMock 和 Mockito 框架,使用需要依赖 api 和 测试框架。 这点上也没问题,三个依赖都在。

2.3 在Mockito的Maven设置里有所发现

在这里插入图片描述
powermock-api-mockito 支持 mockito 1.x,并且PowerMock 2版本会被drop掉。 我mockito用的2.8.9,api却用的powermock-api-mockito,明显就对应不上。
在这里插入图片描述
powermock-api-mockito2 支持 mockito 2.x。换个jar,问题解决。

 mockito-core: 2.8.9
 powermock-api-mockito2:1.7.4
 powermock-module-junit4:1.7.4

3. 参考资料

PowerMock官方文档:https://github.com/powermock/powermock/wiki

猜你喜欢

转载自blog.csdn.net/besto229/article/details/106115076