Heim  >  Artikel  >  Java  >  Wie übergebe ich Argumente von verspotteten Methoden in Java zurück?

Wie übergebe ich Argumente von verspotteten Methoden in Java zurück?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-24 05:05:30646Durchsuche

How to Pass Arguments Back from Mocked Methods in Java?

Übergebene Argumente von verspotteten Methoden zurückgeben

In bestimmten Szenarien kann es für eine verspottete Methode wünschenswert sein, dasselbe Argument zurückzugeben, das übergeben wurde dazu. Mockito, ein bekanntes Mocking-Framework für Java, bietet verschiedene Ansätze, um dieses Verhalten zu erreichen:

Mockito 1.9.5 mit Java 8

Die Verwendung von Lambda-Ausdrücken ist möglich Definieren Sie nun kurz und bündig das Verhalten:

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

Ältere Mockito-Versionen

Alternativ können Sie für ältere Versionen von Mockito eine benutzerdefinierte Antwort erstellen:

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

Diese Antwortimplementierung ruft das erste Argument aus dem Aufruf ab und gibt es zurück, wobei sie effektiv dieselbe Zeichenfolge zurückgibt, die an die simulierte Methode übergeben wurde.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Argumente von verspotteten Methoden in Java zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn