Maison  >  Article  >  Java  >  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
Linda Hamiltonoriginal
2024-10-24 03:07:01525parcourir

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]);

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>

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!

Déclaration:
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