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);
其中