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
分享到:
相关推荐
2.easymock的使用实例 3.mockito的使用实例 版本库地址 HTTPS协议: https://github.com/ichunming/junit.git SSH协议: git@github.com:ichunming/junit.git 克隆版本库 操作示例:`$ git clone git@github....
Powermock是基于现有的mock框架,easymock和mockito而建立的一个非常强大的框架,它具备easymock和mockito所不具备的一些功能,该系列教材详细的说明了如何使用powermock的所有特性
PowerMock 也是一个单元测试模拟...PowerMock 的目的就是在当前已经被大家所熟悉的接口上通过添加极少的方法和注释来实现额外的功能,目前,PowerMock 仅支持 EasyMock 和 Mockito。 标签:PowerMock 单元测试
Currently PowerMock supports EasyMock and Mockito. When writing unit tests it is often useful to bypass encapsulation and therefore PowerMock includes several features that simplifies reflection ...
PowerMock\EasyMock的相关资料和文档 自己整理之后的文档
它与EasyMock和jMock很相似,但是 通过在执行后校验什么已经被调用,它消除了对期望行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为 (expectations),而这导致了丑陋的初始化代码。
模拟_比较 Mockito EasyMock AssertJ JUnit XUnit NUnit
PowerMock是一个扩展了其它如EasyMock等mock框架的、功能更加强大的框架。PowerMock使用一个自定义类加载器和字节码操作来模拟静态方法,构造函数,final类和方法,私有方法,去除静态初始化器等等。通过使用自定义...
这意味着您可以不受限制地使用任何Java工具:JUnit,反射,Easymock,Mockito等。 编写测试如下所示: @Testpublic void clickOnButtonShouldDisplayMessageInLabel() { // Arrange SampleView view = new ...
序列化与反序列化 Gson 单元测试 EasyMock WireMock Mockito 网络&I/O RMI HTTP Netty 4.0.x 线程&并发 反射&代理 AOP 脚本语言 加密解密 开源组件 Slf4j Redis SSH Tomcat JBoss EJB 设计模式 Java工具
基本上,使用 EasyMock 或 Mockito 来模拟常用对象,例如 servlet api 中的对象,是一种真正的痛苦。 多年来,我为我的其他项目开发了这个库,并复制了其中的选定部分。 我厌倦了这样做,只想在未来的项目中“包含...
单元测试 使用Mockito和EasyMock进行样本单元测试
它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),而这导致了丑陋的初始化代码。
知道什么是mock测试后,那么我们就来认识一下mock框架---Mockito除了有一个好记的名字外,Mockito尝试用不一样的方法做mocking测试,是简单轻量级能够替代EasyMock的框架。使用简单,测试代码可读性高,丰富的文档...
MyMockito是类似于Mockito / EasyMock的单元测试框架。
easymock testng mockito bug管理 禅道 jira 开发工具 编程工具 eclipse myeclipse idea vi VS webstorm sublime text 版本控制 svn git 项目管理 maven Nexus Jenkins 工作软件 反编译软件...
带有测试的Java中的Trie API 与Trie数据结构相关的API集合,以Java实现,并经过严格的测试支持,... 要使用与其分离的Trie Service对该类进行测试,应使用诸如Mockito或EasyMock之类的模拟框架(该项目使用EasyMock)。
在格但斯克大学的MFI测试Java应用程序项目1JUnit5,Hamcrest,AssertJ,Mockito,Maven,Travis 项目2Maven,JUnit5,Atrapy(Mockito,EasyMock) 项目3Maven JUnit5,Selenium,JBehave 1. JUnit4 2. JUnit52.2 ...
-展示柜奥普方面spring-aop 引导程序缓存——弹簧缓存数据库米巴蒂斯蔚来米娜2 nosql redis -- jedis, spring-data-redis 序列化——msgpack,protobuf 测试单位——dbunit、easymock、junit、mockito、powermock ...