以前使用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
方案2:通过Spring@Configuration&&@Bean方式定义实现spring bean的方法:
@Bean
public ItemSkuFilterTask makeDao() {
returnMockito.mock(ItemSkuFilterTask.class);
}
好处是可以自定义mock对象对某个方法调用的响应