Maison > Java > javaDidacticiel > 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
Libérer: 2024-10-24 05:05:30
original
791 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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