如何使用PowerMock来Mock静态函数
发表于:2025-02-20 作者:千家信息网编辑
千家信息网最后更新 2025年02月20日,这篇文章主要介绍如何使用PowerMock来Mock静态函数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!EasyMock和Mockito等框架,对static, final,
千家信息网最后更新 2025年02月20日如何使用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安全错误
数据库的锁怎样保障安全
数据库查询要点
数据库索引的分类
服务器 阵列
数据库sql语句总结
60个电脑网吧用什么服务器
as400数据库下载
网络安全板块午后下行
招商产业数据库
移动公司网络安全工作
hp服务器硬盘查询
portal页 服务器
档案专题数据库系统
bcb 清空数据库表
碧蓝航线iOS服务器
学电脑软件开发技术学费多少
风云私服服务器管理
2kmc模式服务器关了
染色软件开发定制
创建人群样本数据库
速达软件数据库
数据库sql语句总结
北京网络安全与维护培训班
广州软件开发设计培训机构
天天飞车违反网络安全法
钱包掉服务器怎么办
广东售后维修管理软件开发
神州网云 网络安全招聘
java服务器通讯安全
为了保证数据库应用
染色软件开发定制