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>
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!