Mockito を使用してメソッド呼び出しが繰り返された場合のさまざまな戻り値をシミュレートするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-27 22:45:30
オリジナル
218 人が閲覧しました

How can I simulate different return values for repeated method calls with Mockito?

繰り返されるメソッド呼び出しの Mockito 戻り値のカスタマイズ

非決定的な応答を含むシナリオをテストする場合、メソッドの戻り値をシミュレートすると便利です。後続の呼び出しでは異なる値になります。人気のある Java モック フレームワークである Mockito は、この難問に対する洗練された解決策を提供します。

提供されているコード例を考えてみましょう。ここでは、ExecutorCompletionService を使用してタスクをグループ化し、その結果を収集しています。タスクの実行順序に関係なくロジックを効果的にテストするには、メソッド completedService.take() が異なる時間に異なる値を返すようにする必要があります。

Mockito は、スタブ化されたメソッドの戻り値を制御する thenReturn メソッドを提供します。 。特に、thenReturn のかっこ内に複数の値を指定できます。メソッドが呼び出されるたびに、Mockito は指定された順序で値を返します。例:

<code class="java">when(completionService.take()).thenReturn(value1, value2, value3);</code>
ログイン後にコピー

この例では、completeService.take() への最初の呼び出しは value1 を返し、2 番目の呼び出しは value2 を返し、3 番目の呼び出しは value3 を返します。指定されたすべての値が返されると、Mockito は後続の呼び出しに対して最後の値を返し続けます。

この手法を利用すると、非決定的な応答を効果的にシミュレートし、テスト ロジックがテスト ロジックの堅牢性を維持できるようになります。タスクが実行を完了する順序。

以上がMockito を使用してメソッド呼び出しが繰り返された場合のさまざまな戻り値をシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!