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!