為神馬要使用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的工具類來舉例,下面是代碼:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

  RedisOperations<String, String>   List<String> getMutiValuesByList(List<String>

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

  有兩種方式可以方便的創(chuàng)建mock對(duì)象,第一種方式是

Mockito.mock(RedisUtil.class);
<