首頁 > Java > java教程 > 主體

如何使用 Mockito 測試非確定性反應?

Mary-Kate Olsen
發布: 2024-10-28 04:47:30
原創
974 人瀏覽過

 How Can I Test Nondeterministic Responses with Mockito?

使用Mockito 測試非確定性回應

測試與非確定性服務互動的程式碼時,很難確保結果保持不變方法的返回順序。例如,考慮測試以下程式碼,它使用 ExecutorCompletionService 來分組和處理任務:

<code class="java">ExecutorCompletionService<T> completionService = new ExecutorCompletionService<>(service);

for (Callable<T> t : ts)
    completionService.submit(request);

for (int i = 0; i < calls.size(); i ++) {
    try {
        T t = completionService.take().get();
        // do some stuff that I want to test
    } catch (...) { }        
}</code>
登入後複製

為了解決這一挑戰,Mockito 提供了一種方法來配置方法的後續呼叫以傳回不同的物件。透過使用 thenReturn 方法,您可以指定按順序傳回的物件:

<code class="java">when(method-call).thenReturn(value1, value2, value3);</code>
登入後複製

每個值將依序傳回,一旦所有其他值都用完,就會重複使用最後一個值。這使您可以測試不同的場景並確保結果保持一致,無論退貨順序如何。

以上是如何使用 Mockito 測試非確定性反應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板