Void-Methoden mit Mockito verspotten
Wie kann man mithilfe des Mockito-Frameworks Methoden mit einem Void-Rückgabetyp verspotten? Diese spezielle Frage stellt sich häufig in Szenarien, in denen eine Objektmethode keinen Wert zurückgibt, sondern stattdessen eine Aktion ausführt.
Die Herausforderung meistern
Die Mockito-API bietet eine Reihe von Optionen zur Bewältigung dieser Situation, einschließlich Methoden wie doThrow(), doAnswer(), doNothing() und doReturn().
Beispielimplementierung
Betrachten Sie das folgende Beispielszenario:
public class World { private String state; // Setter for state public void setState(String s) { this.state = s; } } public class WorldTest { @Test public void testingWorld() { World mockWorld = mock(World.class); // Mock the setState method using doAnswer doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) { Object[] args = invocation.getArguments(); System.out.println("Called with arguments: " + Arrays.toString(args)); return null; } }).when(mockWorld).setState(anyString()); // Call the mock method and observe the output mockWorld.setState("Mocked"); } }
Durch die Verwendung der doAnswer-Methode können wir benutzerdefiniertes Verhalten für die simulierte setState-Methode angeben. Im obigen Beispiel drucken wir die an die Methode übergebenen Argumente aus, um Einblick in ihren Aufruf zu geben.
Das obige ist der detaillierte Inhalt vonWie verspotte ich Void-Methoden in Mockito?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!