如何使用PowerMock来Mock静态函数
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍如何使用PowerMock来Mock静态函数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!EasyMock和Mockito等框架,对static, final,
千家信息网最后更新 2025年11月08日如何使用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安全错误
数据库的锁怎样保障安全
济南党建设计软件开发电话
orcale数据库安全概念
dns服务器双机热备
中国知网博士硕士论文数据库
焦点访谈网络安全专题
朝阳网络技术有限公司
网络安全教育展厅展现
中学生网络安全大赛
普陀区节能软件开发服务厂家直销
个人电脑软件开发流程
请人家做软件开发怎么记账
网络安全课程设计方案
内蒙古一对一网络技术开发项目
天堂2单机数据库启动不了
数据库灾备方案cdp
软件开发绩效考核指标表
浅谈移动网络安全
服务器mstr head灯闪烁
最快的在线代理服务器
手机玩游戏登录服务器困难
苹果证书软件开发
奇安信首都网络安全日
沈阳苹果软件开发如何收费
湖北乐及达网络技术有限公司
杭州壁岐互联网科技有限公司
网络安全需要法律护航
建立数据库连接时出错是什么原因
网络安全专业大学排名100
天水网络安全知识竞赛
ntp服务器无法同步