ホームページ  >  記事  >  Java  >  Mockito を使用して非決定的な応答をテストするにはどうすればよいですか?

Mockito を使用して非決定的な応答をテストするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 04:47:30880ブラウズ

 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。