加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 设置Powemockito静态嘲笑

发布时间:2020-12-14 05:29:26 所属栏目:Java 来源:网络整理
导读:我想利用Powermock与Mockito来模拟一些静态方法调用.我已经遵循了SO的说明和示例以及PowerMock Getting Started和 MockStatic页面,但我还没有完成一个mockStatic()调用. 当我从测试类中调用mockStatic(foo.class)时,我被赋予了这个豁免: java.lang.NoClassD
我想利用Powermock与Mockito来模拟一些静态方法调用.我已经遵循了SO的说明和示例以及PowerMock Getting Started和 MockStatic页面,但我还没有完成一个mockStatic()调用.

当我从测试类中调用mockStatic(foo.class)时,我被赋予了这个豁免:

java.lang.NoClassDefFoundError: org/Mockito/mock/MockName
at org.powermock.api.mockito.PowerMockito.mockStatic(PowerMockito.java:70)
at ...my test class method call...

我确定这是一个设置问题,因为我已经找到用于设置这个术语是相当混乱.我从PowerMock downloads中获取了Mockito Zip.在Eclipse(3.5.2)中,我打开了项目属性,并将所有的JAR添加到构建路径.我还尝试将整个解压缩的powermockito文件夹添加到我的环境vars classpath中,然后只是powermockito jar专门的那个没有解决.

我在测试类的类级别中也有这些注释,根据powermock指令:

@RunWith(PowerMockRunner.class)
@PrepareForTest(ApplicationContextLoader.class)

还有这些powermock特定的进口:

import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;

对于那些以前使用过PowerMockito的人,即使只是一个正确方向的指针,还是要检查的东西,将是非常有帮助的.我正在努力看看我的设置与我所看到的使用相同的语法 – 我从哪里可以看出来.

解决方法

可能的是,Powermock和Mockito的版本不兼容.解决这个问题,这不会是一个问题.
Mockito                     PowerMock
1.10.8+                     1.6.2+
1.9.5-rc1 - 1.9.5           1.5.0 - 1.5.6
1.9.0-rc1 & 1.9.0           1.4.10 - 1.4.12
1.8.5                       1.3.9 to 1.4.9
1.8.4                       1.3.7 & 1.3.8 
1.8.3                       1.3.6
1.8.1 & 1.8.2               1.3.5
1.8                         1.3
1.7                         1.2.5

见:https://github.com/jayway/powermock/wiki/MockitoUsage

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读