Maison  >  Article  >  Java  >  Comment renvoyer les arguments des méthodes simulées en Java ?

Comment renvoyer les arguments des méthodes simulées en Java ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-24 05:05:30646parcourir

How to Pass Arguments Back from Mocked Methods in Java?

Renvoi d'arguments transmis à partir de méthodes simulées

Dans certains scénarios, il peut être souhaitable qu'une méthode simulée renvoie le même argument qui a été transmis à cela. Mockito, un framework moqueur bien connu pour Java, propose différentes approches pour obtenir ce comportement :

Mockito 1.9.5 avec Java 8

En utilisant des expressions lambda, vous pouvez définissez maintenant succinctement le comportement :

<code class="java">when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);</code>

Anciennes versions de Mockito

Alternativement, pour les anciennes versions de Mockito, vous pouvez créer une réponse personnalisée :

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

Cette implémentation de Answer récupère le premier argument de l'invocation et le renvoie, renvoyant effectivement la même chaîne qui a été transmise à la méthode simulée.

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