Mockito: Verify: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Kategorie:Java Kategorie:Mockito = Mock vs. Spy = Neben dem hier beschriebenen Mocks giebt es ein weiteres Konzept in Mockito, das dem Mocki sehr ähnl…“) |
K (Ullrich verschob die Seite Mockito Verify nach Mockito: Verify, ohne dabei eine Weiterleitung anzulegen) |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[Kategorie:Java]] | [[Kategorie:Java]] | ||
[[Kategorie:Mockito]] | [[Kategorie:Mockito]] | ||
= | == Voraussetzungen == | ||
Die Voraussetzungen für die Anwendung von {{java|verify}} sind simpel. | |||
Man benötigt dazu einen Mock oder einen Spy der ein "echtes" Objekt umwickelt. | |||
Mocks und Spies werden [[Partieller Mock|hier]] beschrieben. | |||
== Die grundsätzliche Anwendung == | |||
Wir stellen uns hier einen Handler vor, dessen {{java|onMessage}}-Methode die {{java|send}}-Methode | |||
des {{java|WebSocketConnection}}-Objekts aufrufen soll. | |||
{{java|code= | {{java|code= | ||
@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 {{java|send}}-Methode | |||
mit dem angegebenen Text mindestens einmal aufgerufen wird. | |||
Der erste Parameter von {{java|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 {{java|verify}} würde auch funktioneren, wenn statt des Mocks eine echte Connection erzeugt um mit spy | |||
ummantelt würde: | |||
{{java|code= | {{java|code=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 | |||
Aktuelle Version vom 11. Januar 2024, 08: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