Verspottete Methodenrückgabe: Echo von Eingabeargumenten
Beim Testen von Software kann es von Vorteil sein, wenn verspottete Methoden die Argumente zurückgeben, an die übergeben werden 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 bietet Argumente, die an die verspottete Methode übergeben werden.
Für frühere Versionen von Mockito ist eine benutzerdefinierte Antwort erforderlich:
when(mock.myFunction(anyString())).thenAnswer(new Answer() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
return (String) args[0];
}
});
Mit diesem Ansatz gibt der Mock denselben String zurück, der an myFunction() übergeben wurde.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3