Mockito を使用した ExecutorCompletionService の非決定的応答のモック
タスクが非決定的な値を返した場合の ExecutorCompletionService の動作のテストは、困難な場合があります。ただし、Mockito は、そのようなシナリオをシミュレートするソリューションを提供します。
この状況では、Mockito の thenReturn メソッドを使用して、スタブ メソッドに複数の戻り値を指定できます。これにより、値が返される順序を制御でき、実行順序に関係なく結果の一貫性が確保されます。
これを実現するには、スタブ化されたメソッド呼び出しの後に返される値のリストを指定するだけです。順番に。例:
when(completionService.take().get()).thenReturn(value1, value2, value3);
この例では、take() が最初に呼び出されたときに value1 が返され、2 回目には value2 が返されます。すべての値が返されると、後続の呼び出しに対して value3 が繰り返し返されます。
この手法を利用すると、非決定的なタスクの結果を処理するときにコードの動作をテストでき、結果に関係なく望ましい結果が達成されることを確認できます。タスクが完了する順序。
以上がMockitoを使用してExecutorCompletionServiceの非決定的応答をモックする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。