复杂业务逻辑下的单元测试

在面对复杂业务逻辑的单元测试时,初始化工作的繁重可能导致测试速度变慢。本文提出了一种解决方案,通过继承和EasyMock来简化测试。通过继承重写无关方法,避免不必要的初始化,对于调用其他服务的情况,利用EasyMock模拟真实服务,加快测试执行速度。示例代码展示了这种方法的应用。
摘要由CSDN通过智能技术生成

    你有木有遇到过这种情况,在为一个复杂业务方法写单个单元测试时,你需要做一大堆初始化工作,主要是各种service,你也可以直接把总个容器初始化(如果你使用spring等容器的话),如果项目比较大,运行单个测试,得等上几十秒,你hold住吗,可以参照我的方法进行加速(http://mingliang-luo.iteye.com/blog/1258830);

    现在就复杂业务方法写单元测试给出一个解决方案:我采用的是【 继承 + easyMock 】,也可以使用【easyMock class + easyMock】;

    一个复杂业务方法内,会调用此类中很多的方法,而你的测试又与之无关,这时,你可以使用继承,直接重写那个方法,那么,这个方法内的初始化工作就不需要做了,当然,你也可以使用【easyMock class】重写;

    但如果不是调用此类的方法,而是调用其它service中的方法,那你可以直接使用easyMock代替真实的service;

    采用这种方式后,你就可以快速编写这种复杂业务逻辑的测试了,并且它可以运行得很快。

    下面是我的一个测试,仅供参考:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值