Heim >Java >javaLernprogramm >Wie verspotte ich Methodenrückgaben an Echo-Eingabeargumente 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!