Maison > Java > javaDidacticiel > Comment se moquer des réponses non déterministes dans ExecutorCompletionService avec Mockito ?

Comment se moquer des réponses non déterministes dans ExecutorCompletionService avec Mockito ?

Susan Sarandon
Libérer: 2024-11-01 02:46:28
original
473 Les gens l'ont consulté

How to Mock Nondeterministic Responses in ExecutorCompletionService with Mockito?

Se moquer des réponses non déterministes dans ExecutorCompletionService avec Mockito

Tester le comportement d'un ExecutorCompletionService lorsque les tâches renvoient des valeurs non déterministes peut être difficile. Cependant, Mockito fournit une solution pour simuler de tels scénarios.

Dans cette situation, vous pouvez utiliser la méthode thenReturn de Mockito pour spécifier plusieurs valeurs de retour pour une méthode stubbée. Cela vous permet de contrôler l'ordre dans lequel les valeurs sont renvoyées, garantissant que le résultat reste cohérent quel que soit l'ordre d'exécution.

Pour y parvenir, spécifiez simplement l'appel de la méthode stubbée suivi d'une liste de valeurs à renvoyer. en ordre. Par exemple :

when(completionService.take().get()).thenReturn(value1, value2, value3);
Copier après la connexion

Dans cet exemple, value1 sera renvoyée la première fois que take() est appelée, value2 sera renvoyée la deuxième fois, et ainsi de suite. Une fois que toutes les valeurs ont été renvoyées, value3 sera renvoyée à plusieurs reprises pour les appels suivants.

En utilisant cette technique, vous pouvez tester le comportement de votre code lorsque vous traitez des résultats de tâches non déterministes, en vous assurant que le résultat souhaité est atteint indépendamment de l'ordre dans lequel les tâches sont accomplies.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal