如何使用PowerMock来Mock静态函数
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍如何使用PowerMock来Mock静态函数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!EasyMock和Mockito等框架,对static, final,
千家信息网最后更新 2026年11月01日如何使用PowerMock来Mock静态函数
这篇文章主要介绍如何使用PowerMock来Mock静态函数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
EasyMock和Mockito等框架,对static, final, private方法均是不能mock的。 这些框架普遍是通过创建Proxy的方式来实现的mock。 而PowerMock是使用CGLib来操纵字节码而实现的mock,所以它能实现对上面方法的mock。今天先来看一个简单的例子吧:
***个注解是指定Runner
第二个是你要测试的类,这个里面调用了静态类
下面我结合EasyMock给一个简单的例子:
Java代码
import java.io.IOException; public class SystemPropertyMockDemo { public String getSystemProperty() throws IOException { return System.getProperty("property"); } }Java代码
import org.easymock.EasyMock; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.api.easymock.PowerMock; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) @PrepareForTest({SystemPropertyMockDemo.class}) public class SystemPropertyMockDemoTest { @Test public void demoOfFinalSystemClassMocking() throws Exception { PowerMock.mockStatic(System.class); EasyMock.expect(System.getProperty("property")).andReturn("my property"); PowerMock.replayAll(); Assert.assertEquals("my property", new SystemPropertyMockDemo().getSystemProperty()); PowerMock.verifyAll(); } }测试用例里面增加了PrepareForTest注解,表明要测试的类,里面包含静态方法的调用。
然后在测试类里面指定要测试的静态类和它的方法。
实际上PowerMock是在EasyMock上面做了扩展,这些写法都是和EasyMock相同的。
今天先写这么一个简单的例子,然后以后会将用到的都写上来。
当然了,更多的可以参考:
http://code.google.com/p/powermock/
另外它的maven依赖如下,我在使用的时候就弄错了
Xml代码
org.powermockgroupId> powermock-module-junit4artifactId> 1.4.8version> testscope> dependency> org.powermockgroupId> powermock-api-easymockartifactId> 1.4.8version> testscope> dependency>
以上是"如何使用PowerMock来Mock静态函数"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
静态
测试
方法
代码
例子
函数
内容
更多
框架
注解
篇文章
参考
相同
价值
兴趣
写法
字节
实际
实际上
小伙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技企业
工业互联网科技新基建
互联网为科技
青岛互联网科技公司
互联网科技英文
期待互联网科技
致聘互联网科技
互联网金融科技平台
广西互联网科技公司
顺玮阁互联网科技
国外互联网科技网站
科技类的互联网平台
工业互联网展湾科技股份有限公司
深圳无忧互联网科技
梅州GM互联网络科技有限公司
广州千川互联网科技有限公司
浙南科技城互联网大厦招聘
昆明中奇联合互联网科技
广州三三互联网科技有限公司
互联网科技创新创业项目
互联网科技公司起名
上海挚品互联网科技
互联网女皇 腾讯科技
重庆科技学院互联网
互联网金融科技公司干啥的
荆州市昕露互联网络科技有限公司
厦门千工互联网科技有限公司
张家口科技产业互联网平台
悟空问答互联网科技
互联网科技大会大佬