`
superheizai
  • 浏览: 64403 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Mockito学习(一)

阅读更多

  Mockito是非常小的一个mock工具,刚开始学习,写下一些学习的收获。

 

  Mockito可以通过annotation和直接使用两种方式。这里针对每种使用方式,都会给出一些例子。

 

直接使用

 

     我们使用mockito,主要是想通过这个工具,来模拟一些依赖项的实现,从而隔离其它依赖,运行我们的test

  所以,模拟其它接口(包括接口或者其它类的方法或者接口,以下统称为接口)是我们希望它能够帮我们完成的。

       首先我们通过mock(clazz)这种方法创造出一个需要被mock的对象,obj,比方说mock(List.class)

     然后,可以通过 when(obj.method).thenReturn( return value )这种方法来使得我们模拟的接口返回一个结果给  我们。这样,就模拟了一个简单方法的实现。

 

annotation

 

      常用的Annotation主要是@InjectMocks和@Mock,@Mock就是要被创建成mock对象的类,而@InjectMocks是需要mock对象的类,一般被annotate的类里面会包含@Mock annotate的类型作为成员变量。annotation方式需要做的就是把@Mock注入到@InjectMocks里面作为mock对象,这一切的发生需要MockitoAnnotations.initMocks(this)的执行,一定要在预先执行。我是这么写:

	
@Before
public void setUp() {
		MockitoAnnotations.initMocks(this);
		when(dao1.findResult()).thenReturn("123");
		when(dao2.findResult()).thenReturn("456");
	}
 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics