锁定老帖子 主题:窥探EasyMock(1)基础使用篇

本文深入探讨了EasyMock的使用方法,包括生成Mock对象、设定预期行为、切换到Replay状态、调用Mock对象进行测试以及验证Mock对象的行为。通过五个步骤详细解析EasyMock在单元测试中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EasyMock的应用分为5步:

1. 使用 EasyMock 生成 Mock 对象;

Java代码 收藏代码
  1. SomeInterfacemockObj=createMock(SomeInterface.class);

如果想对一个类(而非接口)生成mock对象,需要EasyMock Class Extension

如果是一个相对复杂的测试用例,需要对多个接口生成mock对象,使用MockControl来管理:

Java代码 收藏代码
  1. IMocksControlcontrol=createControl();
  2. SomeInterfacemockObj=control.createMock(SomeInterface.class);
  3. AnotherInterfacemockAnotherObj=control.createMock(AnotherInterface.class);

2. 设定 Mock 对象的预期行为和输出;

Java代码 收藏代码
  1. expect(mockObj.someAction(1)).andReturn("one");

如果是一个返回void的方法调用:

Java代码 收藏代码
  1. mockObj.noReturnValueAction();
  2. expectLastCall();//最新版本的EasyMock可以忽略此句


3. 将 Mock 对象切换到 Replay 状态;

Java代码 收藏代码
  1. replay(mockObj);

对于使用control来管理的情况:

Java代码 收藏代码
  1. control.replay();


4. 调用 Mock 对象方法进行单元测试;

Java代码 收藏代码
  1. fakeInvoke(mockObj);


5. 对 Mock 对象的行为进行验证

Java代码 收藏代码
  1. verify(mockObj);

对于使用control来管理的情况:

Java代码 收藏代码
  1. control.verify();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值