Mockito 如何 mock 返回值爲 void 的方法

最初接觸 Mockito 還思考並嘗試過如何用它來 mock 返回值爲 void 的方法,然而 Google 查找到的通常都會說用 doThrow() 的辦法code

doThrow(new RuntimeException()).when(mockObject).methodWithVoidReturn();對象

由於沒法使用常規的 when(mockObject.foo()).thenReturn(...) 的方法。get

當時我就納悶,爲什麼我想 mock 一個返回值爲 void 的方法,倒是在模擬拋出一個異常,如今想來若是一個返回值爲 void 的方法,爲什麼要去 mock 這個方法呢?it

回想一個咱們要 mock 一個方法的意圖是什麼:io

  1. 在特定輸入參數的狀況下期待須要的輸出結果(返回值)
  2. 在方法拋出某種類型異常調用者做出的反應

對於 void 返回值的方法,若是要驗證有沒有被調用過幾回能夠在過後用 verify() 方法去斷言。因此基本上對於 void 返回值的方法通常可不用去 mock 它,只需用  verify() 去驗證,或者就是像前面同樣模擬出現異常時的狀況。class

因此本文並不像是去直接回答標題所示的問題: Mockito 如何 mock  返回值爲  void 的方法,而是如何應對 mock  對象的  void 方法 閱讀全文 >>mock

相關文章
相關標籤/搜索