為神馬要使用Mockito?
在編寫單元測(cè)試的時(shí)候,為了盡可能的保證隔離性,我們時(shí)常需要對(duì)某些不容易構(gòu)造或者不容易獲取或者對(duì)外部環(huán)境有依賴的對(duì)象,用一個(gè)虛擬的對(duì)象來創(chuàng)建以便于測(cè)試.假設(shè)你正在開發(fā)的的代碼中使用到了公司其他部門的接口(通過RPC服務(wù)),當(dāng)編寫單元測(cè)試的時(shí)候你可能為了不讓接口真的去調(diào)用rpc服務(wù)而mock一個(gè)接口的對(duì)象,最原始的方式是自己手工編寫一個(gè)該接口的實(shí)現(xiàn)類,并且在單元測(cè)試的時(shí)候注入這個(gè)對(duì)象,而使用Mockito則可以讓我們方便地創(chuàng)建和配置mock對(duì)象,使用mockito可以簡(jiǎn)化對(duì)外部環(huán)境的依賴.
創(chuàng)建mock對(duì)象
這里我們以一個(gè)操作Redis的工具類來舉例,下面是代碼:
RedisOperations<String, String> List<String> getMutiValuesByList(List<String>
有兩種方式可以方便的創(chuàng)建mock對(duì)象,第一種方式是
Mockito.mock(RedisUtil.class);<