Heim >Java >javaLernprogramm >Wie verspotte ich Methodenrückgaben an Echo-Eingabeargumente in Mockito?

Wie verspotte ich Methodenrückgaben an Echo-Eingabeargumente in Mockito?

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 03:07:01594Durchsuche

How to Mock Method Returns to Echo Input Arguments in Mockito?

Verspottete Methodenrückgabe: Echo von Eingabeargumenten

Beim Testen von Software kann es von Vorteil sein, wenn verspottete Methoden die übergebenen Argumente zurückgeben ihnen. Dieses Verhalten kann besonders nützlich sein, wenn Interaktionen überprüft oder der Datenfluss durch ein System getestet wird.

Für Mockito-Versionen 1.9.5 und höher kann diese Funktionalität prägnant mithilfe von Lambda-Ausdrücken erreicht werden:

when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);

In diesem Fall stellt der i-Parameter eine InvocationOnMock-Instanz dar, die Zugriff auf die an die verspottete Methode übergebenen Argumente bietet.

Für frühere Versionen von Mockito ist eine benutzerdefinierte Antwort erforderlich:

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

Mit diesem Ansatz gibt der Mock denselben String zurück, der an myFunction() übergeben wurde.

Das obige ist der detaillierte Inhalt vonWie verspotte ich Methodenrückgaben an Echo-Eingabeargumente in Mockito?. 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