Mockito的使用筆記

以前使用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對象對某個方法調用的響應

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章