Maison > Java > javaDidacticiel > le corps du texte

Comment se moquer des méthodes pour renvoyer les arguments reçus en Java ?

Mary-Kate Olsen
Libérer: 2024-10-23 22:18:29
original
932 Les gens l'ont consulté

How to Mock Methods to Return Arguments Received in Java?

Méthodes moqueuses pour renvoyer les arguments reçus

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.

Expressions Mockito et Lambda (Mockito 1.9.5 et Java 8)

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

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!

source:php
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!