首頁  >  文章  >  Java  >  如何使用 Mockito 模擬 ExecutorCompletionService 中的不確定響應?

如何使用 Mockito 模擬 ExecutorCompletionService 中的不確定響應?

Susan Sarandon
Susan Sarandon原創
2024-11-01 02:46:28351瀏覽

How to Mock Nondeterministic Responses in ExecutorCompletionService with Mockito?

使用Mockito 模擬ExecutorCompletionService 中的非確定性響應

當任務返回非確定性值時測試ExecutorCompletionService 的行為可能會傳回具有挑戰性。不過,Mockito 提供了一種解決方案來模擬此類場景。

在這種情況下,您可以使用 Mockito 的 thenReturn 方法為存根方法指定多個回傳值。這允許您控制返回值的順序,確保無論執行順序如何,結果都保持一致。

要實現此目的,只需指定存根方法調用,後跟要返回的值列表為了。例如:

when(completionService.take().get()).thenReturn(value1, value2, value3);

在此範例中,第一次呼叫 take() 時會傳回 value1,第二次呼叫時會傳回 value2,依此類推。傳回所有值後,將重複返回 value3 以供後續呼叫。

透過利用此技術,您可以測試程式碼在處理不確定性任務結果時的行為,確保無論哪種情況都能實現所需的結果任務完成的順序。

以上是如何使用 Mockito 模擬 ExecutorCompletionService 中的不確定響應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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