Maison > Java > javaDidacticiel > Comment simuler les retours de méthode aux arguments d'entrée d'écho dans Mockito ?

Comment simuler les retours de méthode aux arguments d'entrée d'écho dans Mockito ?

Linda Hamilton
Libérer: 2024-10-24 03:07:01
original
592 Les gens l'ont consulté

How to Mock Method Returns to Echo Input Arguments in Mockito?

Retour de méthode moqueuse : écho des arguments d'entrée

Lors du test d'un logiciel, il peut être avantageux que les méthodes moqueuses renvoient les arguments qui sont transmis à eux. Ce comportement peut être particulièrement utile lors de la vérification des interactions ou du test du flux de données via un système.

Pour les versions 1.9.5 et supérieures de Mockito, cette fonctionnalité peut être obtenue succinctement à l'aide d'expressions lambda :

when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);
Copier après la connexion

Dans ce cas, le paramètre i représente une instance InvocationOnMock, qui donne accès aux arguments passés à la méthode simulée.

Pour les versions antérieures de Mockito, une réponse personnalisée est requise :

<code class="java">when(mock.myFunction(anyString())).thenAnswer(new Answer<String>() {
  @Override
  public String answer(InvocationOnMock invocation) throws Throwable {
    Object[] args = invocation.getArguments();
    return (String) args[0];
  }
});</code>
Copier après la connexion

En utilisant cette approche, le mock renverra la même chaîne qui a été transmise à myFunction().

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