Mockito: Verify: Unterschied zwischen den Versionen
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