Heim > Java > javaLernprogramm > Wie verspotte ich Void-Methoden in Mockito?

Wie verspotte ich Void-Methoden in Mockito?

DDD
Freigeben: 2024-12-08 03:15:11
Original
951 Leute haben es durchsucht

How to Mock Void Methods in Mockito?

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().

  • doThrow(Exception): Löst eine vordefinierte Ausnahme aus, wenn die Mock-Methode aufgerufen wird.
  • doAnswer(Answer): Ermöglicht die Definition benutzerdefinierten Verhaltens beim Aufruf der Mock-Methode. Die Antwortschnittstelle akzeptiert ein InvocationOnMock-Objekt und gibt einen entsprechenden Wert zurück (in diesem Fall „Void“).

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");
    }
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage