單元測試Mockito中的Mock和Spy

2022-05-21 16:42:07 字數 1196 閱讀 5766

**:

專案中,有些函式需要處理某個服務的返回結果,而在對函式單元測試的時候,又不能啟動那些服務,這裡就可以利用mockito工具。mockito中的mock和spy都可用於攔截那些尚未實現或不期望被真實呼叫的物件和方法,並為其設定自定義行為。二者的區別在於:

1、mock宣告的物件,對函式的呼叫均執行mock(即虛假函式),不執行真正部分。

2、spy宣告的物件,對函式的呼叫均執行真正部分。

例:public class main

public void fun1(string s)

private void fun2(string s)

public int getval()

}1、使用docallrealmethod().when()呼叫函式真正部分。

2、使用when().thenreturn自定義函式返回值。

1、使用when().thenreturn自定義函式返回值。

import static org.mockito.mockito.when;

import org.junit.before;

import org.junit.test;

import org.mockito.mockitoannotations;

import org.mockito.spy;

public class maintest

@test

public void testfun()

}

Mockito單元測試的學習

剛換到另乙個專案組,今天讓用mockito寫單元測試,之前從來沒有接觸過,由於別人不能看到公司內部 只能找公司同事,但是幾乎問了所有認識的同事,他們都不會,只能自己硬著頭皮啃了,幸虧是在家辦公,可以用自己電腦查資料 1 在要被測試的物件上面加上 injectmocks註解,它所依賴的物件上面加 mo...

單元測試高階 使用 Mockito 進行測試

官方文件傳送門 mockito 官網 先來談談為什麼要用 mockito 如果某介面的功能是 根據一定邏輯往資料庫裡新增一條記錄的使用者註冊,那麼這個操作可以是認為有 的,除非你使用該介面後又進行回滾。rollback transactional顯然 spring 框架提供的上述註解可以很好的完成這...

提公升單元測試體驗的利器 Mockito使用總結

在編寫單元測試的時候,為了盡可能的保證隔離性,我們時常需要對某些不容易構造或者不容易獲取或者對外部環境有依賴的物件,用乙個虛擬的物件來建立以便於測試.假設你正在開發的的 中使用到了公司其他部門的介面 通過rpc服務 當編寫單元測試的時候你可能為了不讓介面真的去呼叫rpc服務而mock乙個介面的物件,...