Mockito

在写testcases时,Mockito可以mock出相应的类,作为个人而言,觉得跟数据库打交道的service层很好用(因为直接跟数据库交流的是DAO层)。这样mock出来service就可以不关注数据层面只专注于业务层面了。

核心代码:

1、简单mock

newOrigSummonService = Mockito.mock(NewOrigSummonService.class);
supcIndvWriter.setNewOrigSummonService(newOrigSummonService);

mock出来后,记得在相应的类里用set方法注入进去,避免null pointer异常。

2、调用某个方法时,可以指定返回值。

Mockito.when(batchSeqNumService.getById(ApplicationConstants.ICMP_GENERATE_NRO_SEARCH_JOB, yearYYYY))
					.thenReturn(null);
在调用batchSeqNumService的getById方法时,指定返回null。注意方法传的参数要和被测试的代码里的一致。


3、验证某个方法至少被调用一次或者从未被调用

Mockito.verify(newOrigSummonService, Mockito.atLeastOnce()).create(newOrigSummon);
Mockito.verify(hearingDetailService, Mockito.never()).create(hearingDetail);
当然,这肯定要写在要测试的代码运行之后。这里的create方法参数newOrigSummon和hearingDetail都是对象,也要和被测试的代码里一致,就我的经验而言至少值要是一样。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值