Powermockito之static方法的Mock和Spy

写Junit,当遇到数据库调用,文件操作等耗时的方法,或者接口不可用的时候,通常需要mock或者spy这个方法的调用。
Powermockto的强大之处,在于它可以应用于静态,私有等方法。
下面讲解一下这两种方式如何应用于Static方法。

Mock Static

Junit最常用的方式就是Mock,mock会导致所有的静态方法都被stub,导致方法默认返回null(对象),0(数字)或者false(boolean)。
下面是Mock的一个例子

		PowerMockito.mockStatic(XXCommonUtils.class);
		PowerMockito.mockStatic(XXUtils.class);
		XXUserInfo userInfo = new XXUserInfo();
		userInfo.setUserid("userId1001");
		PowerMockito.when(XXCommonUtils.getUserInfo()).thenReturn(userInfo);
		PowerMockito.when(XXUtils.createErrorList("XX0024", "DATE1"))
				.then(new Answer<Object>() {
					@Override
					public Object answer(InvocationOnMock invocation) throws Throwable {
						Object[] args = invocation.getArguments();
						List<ResErrors> arg0 = (List<ResErrors>) args[0];
	
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值