Mockito: Verify: Unterschied zwischen den Versionen

Aus MimiPedia
Keine Bearbeitungszusammenfassung
K (Ullrich verschob die Seite Mockito Verify nach Mockito: Verify, ohne dabei eine Weiterleitung anzulegen)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 14: Zeile 14:
     WebSocketConnection connection = Mockito.mock(WebSocketConnection.class);
     WebSocketConnection connection = Mockito.mock(WebSocketConnection.class);
     handler.onMessage(connection, (String) null);
     handler.onMessage(connection, (String) null);
     Mockito.verify(connection, Mockito.atLeastOnce()).send("Die Anfrage kann nicht verarbeitet werden.");
     Mockito.verify(connection, Mockito.atLeastOnce())
          .send("Die Anfrage kann nicht verarbeitet werden.");
}}
}}
Die ersten beiden Zeilen führen den Test durch, die dritte Zeile prüft, daß die {{java|send}}-Methode
Die ersten beiden Zeilen führen den Test durch, die dritte Zeile prüft, daß die {{java|send}}-Methode

Aktuelle Version vom 11. Januar 2024, 09:13 Uhr

Voraussetzungen

Die Voraussetzungen für die Anwendung von verify sind simpel. Man benötigt dazu einen Mock oder einen Spy der ein "echtes" Objekt umwickelt. Mocks und Spies werden hier beschrieben.

Die grundsätzliche Anwendung

Wir stellen uns hier einen Handler vor, dessen onMessage-Methode die send-Methode des WebSocketConnection-Objekts aufrufen soll.

@Test
public void auftragNullSendetFehlermeldung() {
    WebSocketConnection connection = Mockito.mock(WebSocketConnection.class);
    handler.onMessage(connection, (String) null);
    Mockito.verify(connection, Mockito.atLeastOnce())
           .send("Die Anfrage kann nicht verarbeitet werden.");

Die ersten beiden Zeilen führen den Test durch, die dritte Zeile prüft, daß die send-Methode mit dem angegebenen Text mindestens einmal aufgerufen wird.

Der erste Parameter von verify ist das zu untersuchende Objekt. Der zweite Parameter giebt die das erwartete Ergebnis an. Auf das Ergebnis wird die Methode aufgerufen, deren Aufruf überprüft werden soll.

Das gleiche verify würde auch funktioneren, wenn statt des Mocks eine echte Connection erzeugt um mit spy ummantelt würde:

WebSocketConnection connection = Mockito.spy(new MyWebSocketConnectionImplementation());

Prüfungen

atLeastOnce
Die Methode wurde mindestens einmal aufgerufen
times(n)
Die Methode wurde n mal aufgerufen
times(0) oder never()
Die Methode wurde nicht aufgerufen