EasyMock常用方法
1. EasyMock类中的常用方法
static T createMock(java.lang.Class<?> toMock)用于创建被模拟的对象
static IMockControl createControl() 创建一个IMockControl对象,使用这个对象可以创建多个mock对象,并能使用它来控制这些mock对象。
static replay(java.lang.Object... mocks) 主要测试对象将被创建,模拟真实运行环境下主要测试对象的行为。
static reset(java.lang.Object... mocks)清空对mock对象的值。
static verify(java.lang.Object... mocks) 验证mock对象的使用情况是否与预期的一致 。
static IExpectionSetters expect(T value) 参数为期望的方法调用,返回一个IExpectionSetters 类型的对象,可以在这个对象上设置期望的返回值等。例如:EasyMock.expect(obj.f()).andReturn(2)即在obj对象上调用f方法并希望得到的返回值为2。
static IExpectionSetters expectLastCall()返回对上一个方法调用的IExpectionSetters对象,这个方法通常是用于期望执行的方法的返回值类型为void。
2. IMockControl类中的常用方法(主要用于创建mock对象,并管理mock对象)
createMock(java.lang.Class<?> toMock) 创建mock对象
replay()将IMockControl对象创建的所有Mock对象切换至“播放”状态
reset()清空IMockControl对象创建的所有Mock对象的期望
verify()验证IMockControl对象创建的所有Mock对象
3. IExpectionSetters接口的主要方法(允许对调用的方法进行相关的设置)
IExpectionSetters andReturn(T value)设置期望的返回值
IExpectionSetters andThrow(java.lang.Throwable throw)设置期望抛出的异常
IExpectionSetters anyTimes() 期望方法被调用任意次
IExpectionSetters atLeastOnce() 期望方法至少被调用一次
IExpectionSetters once()期望方法被调用一次
IExpectionSetters times(int n)期望方法被调用n次
IExpectionSetters times(int min,int max)期望方法调用的次数在min和max之间
4.class mock 的限制
1) 不能mock类的 final方法。如果final方法被调用,则只能执行原有的正常代码。
2) 不能mock类的static 方法。
3) 同样如果private方法被调用,只能执行原有的正常代码。
4) 不能mock类的一些特殊方法: equals(), toString()和hashCode().原因是easymock的实现是为每个class mock对象提供了内建的以上三个方法。需要强调的是,对于基于interface的mock,这个限制也是同样存在的,即使以上三个方式是interface定义的一部分。
5) 在使用时需要避开这种场景,或者组合使用其他的mock 框架比如jmockit来mock private方法和final方法。
Mockito的常用方法
1. public static <T> T mock(java.lang.Class<T> classToMock) 创建mock对象
2. public static <T> T verify(T mock) 验证某方法是否被调用
eg: verify(mockedList).add("one");//验证mockedList对象的add方法是否在前面被调用了一次,且参数为“one”
3. public static <T> NewOngoingStubbing<T> when(T methodCall) 调用某方法时返回特定的值
eg:when(mockedList.get(0)).thenReturn(“first”) //调用mockedList.get(0)时返回”first”
4. public static <T> T verify(T mock, VerificationMode mode) 验证方法被调用了特定次数/至少x次/最多x次/从未被调用
eg: verify(mockedList, times(2)).add("twice");//是否add(“twice”)被调用了两次。
5. public static Stubber doThrow(java.lang.Throwable toBeThrown)抛出异常。
eg:doThrow(new RuntimeException()).when(mockedList).clear();//调用方法时抛出异常。
另参考:http://blog.csdn.net/onlyqi/article/details/6396646
1. EasyMock类中的常用方法
static T createMock(java.lang.Class<?> toMock)用于创建被模拟的对象
static IMockControl createControl() 创建一个IMockControl对象,使用这个对象可以创建多个mock对象,并能使用它来控制这些mock对象。
static replay(java.lang.Object... mocks) 主要测试对象将被创建,模拟真实运行环境下主要测试对象的行为。
static reset(java.lang.Object... mocks)清空对mock对象的值。
static verify(java.lang.Object... mocks) 验证mock对象的使用情况是否与预期的一致 。
static IExpectionSetters expect(T value) 参数为期望的方法调用,返回一个IExpectionSetters 类型的对象,可以在这个对象上设置期望的返回值等。例如:EasyMock.expect(obj.f()).andReturn(2)即在obj对象上调用f方法并希望得到的返回值为2。
static IExpectionSetters expectLastCall()返回对上一个方法调用的IExpectionSetters对象,这个方法通常是用于期望执行的方法的返回值类型为void。
2. IMockControl类中的常用方法(主要用于创建mock对象,并管理mock对象)
createMock(java.lang.Class<?> toMock) 创建mock对象
replay()将IMockControl对象创建的所有Mock对象切换至“播放”状态
reset()清空IMockControl对象创建的所有Mock对象的期望
verify()验证IMockControl对象创建的所有Mock对象
3. IExpectionSetters接口的主要方法(允许对调用的方法进行相关的设置)
IExpectionSetters andReturn(T value)设置期望的返回值
IExpectionSetters andThrow(java.lang.Throwable throw)设置期望抛出的异常
IExpectionSetters anyTimes() 期望方法被调用任意次
IExpectionSetters atLeastOnce() 期望方法至少被调用一次
IExpectionSetters once()期望方法被调用一次
IExpectionSetters times(int n)期望方法被调用n次
IExpectionSetters times(int min,int max)期望方法调用的次数在min和max之间
4.class mock 的限制
1) 不能mock类的 final方法。如果final方法被调用,则只能执行原有的正常代码。
2) 不能mock类的static 方法。
3) 同样如果private方法被调用,只能执行原有的正常代码。
4) 不能mock类的一些特殊方法: equals(), toString()和hashCode().原因是easymock的实现是为每个class mock对象提供了内建的以上三个方法。需要强调的是,对于基于interface的mock,这个限制也是同样存在的,即使以上三个方式是interface定义的一部分。
5) 在使用时需要避开这种场景,或者组合使用其他的mock 框架比如jmockit来mock private方法和final方法。
Mockito的常用方法
1. public static <T> T mock(java.lang.Class<T> classToMock) 创建mock对象
2. public static <T> T verify(T mock) 验证某方法是否被调用
eg: verify(mockedList).add("one");//验证mockedList对象的add方法是否在前面被调用了一次,且参数为“one”
3. public static <T> NewOngoingStubbing<T> when(T methodCall) 调用某方法时返回特定的值
eg:when(mockedList.get(0)).thenReturn(“first”) //调用mockedList.get(0)时返回”first”
4. public static <T> T verify(T mock, VerificationMode mode) 验证方法被调用了特定次数/至少x次/最多x次/从未被调用
eg: verify(mockedList, times(2)).add("twice");//是否add(“twice”)被调用了两次。
5. public static Stubber doThrow(java.lang.Throwable toBeThrown)抛出异常。
eg:doThrow(new RuntimeException()).when(mockedList).clear();//调用方法时抛出异常。
另参考:http://blog.csdn.net/onlyqi/article/details/6396646