PowerMock单元测试

PowerMock简介
PowerMock是一个框架,它以更强大的功能扩展了其他模拟库,例如EasyMock。PowerMock使用自定义的类加载器和字节码操作来模拟静态方法,构造函数, 最终类和方法,私有方法,删除静态初始化程序等。通过使用自定义类加载器,无需对IDE或持续集成服务器进行任何更改,从而简化了采用过程。
使用PowerMock目的
降低外部依赖对被测试代码的影响
PowerMock常用注释

@RunWith(PowerMockRunner.class)
告诉JUnit使用PowerMockRunner进行测试
@PrepareForTest({DemoDao.class})
告诉Powermock所有需要测试的类,适用于有final, private, static, native方法的类
@PowerMockIgnore({“javax.management.", "javax.net.ssl.”})
为了解决使用powermock后,提示classloader错误
@SuppressStaticInitializationFor
不让静态代码加载
其他注解参考:PowerMock

PowerMock常用场景
mock 普通方法

Demo demo = PowerMockito.mock(Demo.class);
PowerMockito.when(demo.method(withArgument)).thenReturn(demo);

mock Static 方法

@RunWith(PowerMockRunner.class)
@PrepareForTest({Demo.class})
PowerMokito.MockStatic(Demo.class);
PowerMockito.when(Demo.staticMethod(withArgument)).thenReturn();

mock 构造方法

Demo demo = PowerMockito.mock(Demo.class);
PowerMokito.whenNew((Demo.class).withNoArguments().thenReturn(demo);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值