Maison > Java > javaDidacticiel > le corps du texte

Comment puis-je simuler différentes valeurs de retour pour des appels de méthode répétés avec Mockito ?

Patricia Arquette
Libérer: 2024-10-27 22:45:30
original
218 Les gens l'ont consulté

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

Personnalisation des valeurs de retour Mockito pour les appels de méthode répétés

Lors du test de scénarios impliquant des réponses non déterministes, il peut être utile de simuler une méthode renvoyant valeurs différentes lors des invocations ultérieures. Mockito, un framework Java moqueur populaire, fournit une solution élégante à cette énigme.

Considérez l'exemple de code fourni, dans lequel un ExecutorCompletionService est utilisé pour regrouper les tâches et collecter leurs résultats. Pour tester efficacement la logique quel que soit l'ordre d'exécution des tâches, nous devons nous assurer que la méthode CompletionService.take() renvoie des valeurs différentes à des moments différents.

Mockito fournit la méthode thenReturn pour contrôler les valeurs de retour des méthodes stubbées. . Notamment, vous pouvez spécifier plusieurs valeurs entre parenthèses de thenReturn. À chaque appel de la méthode, Mockito renverra les valeurs dans l'ordre spécifié. Par exemple :

<code class="java">when(completionService.take()).thenReturn(value1, value2, value3);</code>
Copier après la connexion

Dans cet exemple, le premier appel à CompletionService.take() renverra la valeur 1, le deuxième appel renverra la valeur 2 et le troisième appel renverra la valeur 3. Une fois que toutes les valeurs spécifiées ont été renvoyées, Mockito continuera à renvoyer la dernière valeur pour les appels suivants.

En utilisant cette technique, vous pouvez simuler efficacement des réponses non déterministes et garantir que votre logique de test reste robuste quelle que soit la situation. ordre dans lequel les tâches terminent leur exécution.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!