一文教会你mock(Mockito和PowerMock双剑合璧)

本文详细介绍了如何使用Mockito和PowerMock解决单元测试中的难题,包括Mock的意义、两者区别及最佳实践。通过引入Mockito和PowerMock,可以实现独立、可重复的自动化单元测试,有效应对静态方法、私有方法的测试挑战。文章还提供了SpringBoot项目下的使用示例和常见问题解决方案。

1.解决的问题

我们在写单元测试时,总会遇到类似这些问题:

1.  构造的入参,对于极值、异常边界场景不好复现,相关的逻辑测不到,只能依靠测试环境或预发跑,运气不好可能要改好几次代码重启机器验证,费时费力;

2.  依赖别人接口,可能需要别人协助测试环境数据库插数才能跑通;

3.  依赖的别人的接口还没有开发完,为了不影响提测,如何完成单元测试?

4.  编写的单元测试依赖测试数据库的数据,每次跑都要数据库改数?

5.  对service层加了逻辑,跑单元测试本地验证的时候,由于种种原因,本地环境跑不起来,折腾半天跑起来验证完了,下次开发需求又遇到了另一个问题本地环境启动报错???

6.  我就想dubug到某一行代码,但是逻辑复杂,东拼西凑的参数就是走不到,自己看代码逻辑还要去问别人接口的返回值逻辑??(未完待续……)

引入Mockito和PowerMock使得编写单元测试更轻松,更省时,更省力。

2.如何解决问题

2.1  使用mock的意义

      使我们的单测满足AIR原则:Automatic(自动化)、Independent(独立性)、Repeatable(可重复)

      简单说就是无论谁的本地环境,无论判断条件多么苛刻,无论本地数据库的测试数据被谁删了改了,无论别人接口的返回值逻辑多复杂,无论自己代码逻辑多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值