Verspotten von Void-Methoden mit Mockito
Das Verspotten von Void-Methoden in Mockito kann mithilfe von Methoden aus doThrow(), doAnswer() und doNothing erreicht werden () und doReturn() Familien. Mit diesen Methoden können Sie das Verhalten für eine simulierte Methode angeben, die den Rückgabetyp „void“ hat.
Beispiel:
// Mock a void method that throws an exception Mockito.doThrow(new Exception()).when(instance).methodName(); // Mock a void method that performs some action Mockito.doAnswer(new Answer<Void>() { public Void answer(InvocationOnMock invocation) { Object[] args = invocation.getArguments(); System.out.println("called with arguments: " + Arrays.toString(args)); return null; } }).when(instance).methodName();
In Ihrem spezifischen Beispiel können Sie die verspotten setState()-Methode in der World-Klasse wie folgt:
// Mock the World class World mockWorld = mock(World.class); // Mock the setState method to print the arguments passed to it doAnswer(new Answer<Void>() { public Void answer(InvocationOnMock invocation) { Object[] args = invocation.getArguments(); System.out.println("called with arguments: " + Arrays.toString(args)); return null; } }).when(mockWorld).setState(anyString());
Wenn Sie nun „mockWorld.setState()“ in Ihrem Test aufrufen, wird die bereitgestellte Die Antwort wird ausgeführt, sodass Sie überprüfen können, ob die richtigen Argumente an die Methode übergeben wurden.
Das obige ist der detaillierte Inhalt vonWie kann man Void-Methoden in Mockito effektiv simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!