Mockito的使用笔记

来源:互联网 发布:ubuntu文件夹有锁 编辑:程序博客网 时间:2024/04/30 10:47

以前使用mockito遇到一些问题,例如:变长参数的匹配、自定义参数匹配器,这些在mockito的官方文档(http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html)中并没有详细的介绍,基本上是在stackoverflow上找的资料,摸索成功了,未写总结时间久了,遗忘了,又重新找资料,⊙﹏⊙b汗!

1、自定义参数匹配器、数组参数匹配

本篇文章主要介绍入参为此种格式的public void saveOrders(Order ...order);方法参数matcher方式,

http://linmingren.me/blog/2012/08/mockito%E4%BD%BF%E7%94%A8/

根据文章所述采用any(Order[].class)即可;

我遇到此种情况的入参,依然无法通过,只能把入参改为(Order[] order)方式才可以。

文章还有mock/spy的区别,如何自定义参数匹配器(http://rwehner.wordpress.com/2010/02/23/mockito-some-useful-programming-examples/)。

推荐指数☆☆☆☆☆

 

2、基本资料

http://www.baeldung.com/mockito-verif本篇文章主要是mockito基本用法,其中有ArgumentCaptor的介绍,还有二篇更详细的:

http://hi.baidu.com/hivemind/item/1549ee3d4e4c1abc124b1468

http://www.vogella.com/tutorials/Mockito/article.html

其实最好的文档就是官方的docs

推荐指数☆☆

 

3、自定义返回值

http://googletesting.blogspot.com/2014/03/whenhow-to-use-mockito-answer.html通过实现Answer接口来自定义返回值,文章的评论中有使用Answer特性来指定mock对象返回值的代码:mock对象默认情况下返回对应对象的默认值。

推荐指数☆☆☆

 

4、如何与Spring整合

方案1:使用Springockito,最简单的方案

https://bitbucket.org/kubek2k/springockito/wiki/Home

或者:http://blog.csdn.net/fireofjava/article/details/8687128、http://www.javacodegeeks.com/2013/08/injecting-test-doubles-in-spring-using-mockito-and-beanpostprocessors.html

 

 

方案2:通过Spring@Configuration&&@Bean方式定义实现spring bean的方法:

@Bean

    public ItemSkuFilterTask makeDao() {

        returnMockito.mock(ItemSkuFilterTask.class);

}

好处是可以自定义mock对象对某个方法调用的响应

0 0
原创粉丝点击