使用EasyMock辅助单元测试

      在单元测试中,经常会遇到一些很难获取测试环境的问题。也就是说,测试程序在特定环境中运行。而产生这些环境有诸多不方便的因素,如:需要Servlet容器,需要连接数据库。或者是某些环境很难获取,如:网络异常等。这些因素在各个方面都限制了单元测试,要么使单元测试变得困难,要么使单元测试变得缓慢。

      为了解决上述问题,可以使用Mock解决方案,也就是模拟真实环境。在java中,比较流行的两个Mock工具是JMock和EasyMock。在本文中,将主要介绍EasyMock的使用。

      首先,下载EasyMock。目前的版本是2.4,EasyMock只能模拟接口类型,如果需要模拟类,则需要使用EasyMockClassextention。安装EasyMock比较简单,只需要将jar添加至classpath目录中即可。

      下面来介绍一个EasyMock的使用步骤:

      1.使用EasyMock的第一步是创建一个Mock对象:

     

      2.调用需要模拟的对象,以及在其上设置期望的返回值:

     

      3.将mock对象切换至“播放”状态:

     

      4.像使用真实对象那样使用mock对象。

      5.使用后对mock对象进行验证:

     

      以上就是使用EasyMock的最基本的方法。

 

      可以使用IMockControl来批量的控制Mock对象。例如:

     

      可以使用reset()方法清空对所有模拟对象方法调用的期望值。

 

      如果需要模拟类而不是接口,则使用EasyMockClassextention。所需要做的就是将上述代码中的EasyMock类型替换为EasyMockClassextention包中的EasyMock即可。记住:要引入cglib.jar和asm.jar包

 

 

     

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值