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 メソッドでは、引数として複数の戻り値を指定でき、スタブ化されたメソッドが指定された順序で目的のオブジェクトを返すことが保証されます。最初の値は最初の呼び出しで返され、続いて 2 番目の呼び出しで返されます。すべての値が使い尽くされると、最後の値が繰り返し返されます。
このアプローチにより、開発者は、メソッド呼び出しの順序や返されるオブジェクトの順序が期待される結果に影響を与えないさまざまなシナリオをテストできます。これによりテストが簡素化され、不確定な状況でもコードが堅牢で信頼性があることが保証されます。
以上がMockito と複数のメソッド呼び出しを使用して不定応答をテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。