JUnit学习笔记 EasyMock介绍

EasyMock是一种模拟测试的框架,用他来辅助模拟测试。当在测试过程中一些复杂的对象生成相当麻烦、费时或者根本无法生成时,可以用模拟的对象来代替真实的对象。EasyMock框架就用来方便的生成这些模拟的对象。

使用例子:
@Test  
public void testAddWithMock(){   
    //1.创建模拟对象   
    demo = EasyMock.createMock(IMathDemo.class);//EasyMock默认为接口生成模拟对象,如果需为类生成模拟对象需下载扩展包EasyMock Class Extension    
       
    //2.expect 记录   
    EasyMock.expect(demo.add(1, 2)).andReturn(3).times(2);   
    EasyMock.expect(demo.div(6, 3)).andReturn(2);   
    //3.replay 回放   
    EasyMock.replay(demo);   
               //4.进行测试   
    assertEquals(3, demo.add(1,2));   
    assertEquals(3, demo.add(1,2));   
    assertEquals(2, demo.div(6,3));   
    //5.verify 检查EasyMock的执行情况   
    EasyMock.verify(demo);   
    //EasyMock是根据 记录+回放  测试+检查 的过程   
}   
  
@Test(expected=RuntimeException.class)   
public void testAddWithMockException(){   
    demo = EasyMock.createMock(IMathDemo.class);   
               //模拟方法抛出异常   
    EasyMock.expect(demo.add(-1,-1)).andThrow(new RuntimeException("运行时错误!!"));   
    EasyMock.replay(demo);   
    demo.add(-1, -1);   
    EasyMock.verify(demo);   
}
 

EasyMock采用“记录-回放”的工作模式,基本使用步骤:
1.创建Mock对象的控制对象Control(EasyMock类)
2.从控制对象中获取所需要的Mock对象
3.记录测试方法中使用到的参数值和返回值和需要执行的次数,抛出什么异常等。
4.设置Control对象到"回放"模式
5.进行测试
6.测试完毕后,确认对象已经执行了刚才定义的所有操作。

具体的使用方法可以参见我的一遍收藏文章

你可能感兴趣的:(框架,工作,JUnit)