Tests frisch gemixt mit Mockito - JAXenter

Tests frisch gemixt mit Mockito

Let’s verify! – Verhalten überprüfen

Mockito bietet auch die Möglichkeit, Verhalten zu überprüfen. Die Syntax zur Überprüfung von Verhalten ist analog zur Imitation von Objekten. Beispielsweise kann geprüft werden, ob auch tatsächlich die Methode findCustomerIdByName mit dem Argument „Zaphod“ aufgerufen wurde. Dieses Verhalten wird durch den Aufruf verify(customerService).findCustomerIdByName(„Zaphod“); überprüft.

Alle Interaktionen mit einem Mock-Objekt werden von Mockito aufgezeichnet. Somit können alle Interaktionen auch im Nachhinein ausgewertet werden. Es kann also überprüft werden, ob und wenn ja, wie oft eine Methode aufgerufen wurden. So prüft der Ausdruck verify(customerService, times(1)).findCustomerIdByName(„Zaphod“); ob die Methode findCustomerIdByName genau einmal aufgerufen wurde. Analog kann eine bestimmte Anzahl oder die Reihenfolge von Aufrufen verifiziert werden.

Bisher wurde noch nicht betrachtet, was eigentlich passiert, wenn die Überprüfung eines Verhaltens fehlschlägt. In solch einem Fall löst Mockito eine RuntimeException aus. Diese wird dann ausgegeben und führt, falls sie nicht behandelt wird, zum Abbruch aller Tests.

Hierzu ein Beispiel. Wird ein Aufruf von findCustomerIdByName erwartet, der jedoch nicht erfolgt ist, gibt Mockito die in Abbildung 1 dargestellte Meldung aus.

Abbildung 1: Fehler bei der Überprüfung von Verhalten

Neben den vorgestellten Funktionen bietet Mockito noch einige Spezialitäten, die den Rahmen dieses Beitrags sprengen würden. Hier sei auf die knappe, aber hilfreiche Dokumentation von Mockito verwiesen.

Mit Mockito lassen sich sehr einfach und verständlich Mock-Objekte in Tests nutzen. Es überzeugt insbesondere die kompakte und übersichtliche Syntax. Dies ist der wesentliche Aspekt, der Mockito von der Konkurrenz unterscheidet.

Wer eine hohe Testabdeckung mit isolierten und wartbaren Tests erreichen möchte, wird Mock-Objekte als Hilfsmittel schnell nicht mehr missen mögen. Hat man dazu so einfache Hilfsmittel wie Mockito zur Hand, macht es auch richtig Spaß, Tests zu entwickeln. Sie werden erstaunt sein, wie schnell Ihre Kollegen auch Durst auf Mockito bekommen!

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.