Maison >Java >javaDidacticiel >Comment se moquer des méthodes pour renvoyer les arguments reçus en Java ?
Dans la programmation orientée objet, des frameworks moqueurs comme Mockito sont utilisés pour créer un objet fictif qui simule le comportement d'un objet réel à des fins de test. Un scénario courant lors des tests est la nécessité qu'une méthode simulée renvoie le même argument qui lui a été transmis.
Pour les versions de Mockito 1.9.5 et ultérieures en conjonction avec Java 8 ou supérieur, vous pouvez exploiter les expressions lambda pour obtenir ce comportement :
when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);</p> <p>Ici, je représente une instance de InvocationOnMock et getArguments()[0] récupèrent le premier argument passé à la méthode simulée.</p> <p><h3>Mockito et réponses personnalisées (anciennes versions)</h3></p> <p>Pour les anciennes versions de Mockito, vous pouvez utiliser une implémentation de réponse Mockito personnalisée :</p> <pre class="brush:php;toolbar:false"><code class="java">MyInterface mock = mock(MyInterface.class); 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>
Cette réponse personnalisée récupère l'argument passé et le renvoie, permettant à la méthode simulée de faire écho à l'entrée reçue.
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!