Mockito框架

项目中因为快要进入后期的单元测试,但是测试中存在一些问题,为解决这种相互调用依赖关系,带我的人给我推荐了可以去学习一下Mockito,确实挺有意思。
简单来说,Mockito是一个流行的Mock框架。所谓Mock,就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
Mockit的主页为:http://code.google.com/p/mockito/ 直接下载mockito-all-x.x.x.jar包在工程中引用即可。主页上的说明也很清楚,挺喜欢logo那一杯绿色的。
引入后,在写程序时,一般用:
import static org.mockito.Mockito.*;
这样会让程序看起来更加的干净整洁。
插入一下,其实自己第一次知道Java里可以这样用,惭愧,引入一下介绍。
----------------------------------------------------------------------------------------------------------------------------------------------
静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。 这种方法的好处就是可以简化一些操作,例如打印操作System.out.println(...);就可以将其写入一个静态方法print(...),在使用时直接print(...)就可以了。 但是这种方法建议在有很多重复调用的时候使用,如果仅有一到两次调用,不如直接写来的方便
------------------------------------------------------------------------------------------------------------------------------------------------
http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html 这上有很详细的关于Mockit功能及使用的描述文档。
写得很好懂。
不多说,再贴两个简单的例子,还有很多强大灵活的功能就不多说了。其它的看主页上的文档即可

import static org.mockito.Mockito.*;

//mock creation
List mockedList = mock(List.class);

//using mock object
mockedList.add("one");
mockedList.clear();

//verification 验证add("one")这一行为是否发生过
verify(mockedList).add("one");
verify(mockedList, times(2)).add("one") //这个将会验证不通过,因为只发生过一次
verify(mockedList).clear();
//这里有一个全匹配,这样后面调用任意的mockedList.get(X)时返回的都将是element。
when(mockedList.get(anyInt()).thenReturn("element");







   

你可能感兴趣的:(jdk,框架,测试,单元测试,文档,import)