Easymock 简介

本文介绍了Mock技术在单元测试中的作用,重点讲解了EasyMock这个类库如何生成Mock对象,设定预期行为和输出,包括设定预期返回值、方法调用次数,并详细阐述了如何将Mock对象从Record状态切换到Replay状态,以便在测试中正确使用Mock对象。

Mock(模拟)

Mock 方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与测试边界以外的对象隔离开。同时也可以当调用别人的模块,而该模块又没有实现时(只提供接口),我们可以在独立的环境中测试自己的模块逻辑。

EasyMock

EasyMock 是一套用于通过简单的方法对于给定的接口生成 Mock 对象的类库。它提供对接口的模拟,能够通过录制、回放、检查三步来完成大体的测试过程,可以验证方法的调用种类、次数、顺序,可以令 Mock 对象返回指定的值或抛出指定异常。通过 EasyMock,我们可以方便的构造 Mock 对象从而使单元测试顺利进行。
使用前的准备,下载所需的jar包:easymock-3.4.jar(或以上版本)

步骤

•使用 EasyMock 生成 Mock 对象;
•设定 Mock 对象的预期行为和输出;
•将 Mock 对象切换到 Replay 状态;
•调用 Mock 对象方法进行单元测试;
•对 Mock 对象的行为进行验证。

使用 EasyMock 生成 Mock 对象

根据指定的接口或类,EasyMock 能够动态的创建 Mock 对象(EasyMock 默认只支持为接口生成 Mock 对象,如果需要为类生成 Mock 对象,在 EasyMock 的主页上有扩展包可以实现此功能 )
marketMock = EasyMock.createMock(StockMarket.class);
其中 createMock 是 org.easymock.EasyMock 类所提供的静态方法
如果需要在相对复杂的测试用例中使用多个 Mock 对象,EasyMock 提供了另外一种生成和管理 Mock 对象的机制:
EasyMock 类的 createControl 方法能创建一个接口 IMocksControl 的对象,该对象能创建并管理多个 Moc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值