首頁  >  文章  >  Java  >  如何使用 Mockito 和多個方法呼叫測試不確定響應?

如何使用 Mockito 和多個方法呼叫測試不確定響應?

Linda Hamilton
Linda Hamilton原創
2024-10-29 00:31:30434瀏覽

 How to Test Nondeterminate Responses with Mockito and Multiple Method Invocations?

使用Mockito 和多個方法呼叫測試不確定回應

在存根方法為具有相同參數的多次呼叫返回不同物件的測試場景中,無論退貨訂單為何,都必須確保一致的結果。為了實現這一點,Mockito 提供了一個優雅的解決方案。

例如,考慮以下測試場景,其中 ExecutorCompletionService 用於分組和處理任務。目標是驗證結果是否保持不變,無論任務完成的順序為何。

<code class="java">// ExecutorCompletionService completionService = new ExecutorCompletionService(service);
// for (Callable<T> t : ts) completionService.submit(request);</code>

要測試完成服務的不確定響應,可以利用Mockito 的thenReturn 方法,如下所示:

<code class="java">when(completionService.take().get()).thenReturn(value1, value2, value3);</code>

thenReturn 方法允許指定多個返回值作為參數,確保存根方法按指定順序傳回所需的物件。第一個值將在第一次呼叫時返回,然後是第二個,依此類推。一旦所有值都用盡,重複傳回最後一個值。

這種方法使開發人員能夠測試各種場景,其中方法呼叫的順序或傳回物件的順序不會影響預期結果。它簡化了測試並確保程式碼即使在不確定的情況下也是健壯可靠的。

以上是如何使用 Mockito 和多個方法呼叫測試不確定響應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn