您的位置:首页 > 其它

Mockito的使用笔记

2014-05-31 20:34 465 查看
以前使用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对象对某个方法调用的响应
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: