66 VIEWS

Erzeugung von Mocks mit dem Builder-Pattern

05.10.2022

Die Erzeugung von Mocks mit dem Builder-Pattern erlaubt es, Tests lesbarer zu gestalten, Wiederverwendung zu fördern und sich im Unit-Test auf das Wesentliche zu konzentrieren.

In einem Vorgängerartikel habe ich bereits ausführlich die Vorteile des Builder-Patterns für die Erzeugung von Testobjekten dargelegt. Auf dieselbe Art und Weise lassen sich aber natürlich auch Mocks erzeugen.

In unserem Fall ein Authentifizierungstoken, das für die Tests simuliert werden soll:

In Tests können mit dem Builder dann ganz einfach verschiedene Berechtigungskonstellationen getestet werden.

Beispiele:

Fazit: Durch Mocks mit dem Builder-Pattern werden Unit-Tests besser lesbar

Die Erzeugung von Mocks mit dem Builder-Pattern verbessert die Lesbarkeit von Unit-Tests. So kann man sich im Test auf die eigentlich zu testende Logik fokussieren und wird nicht von wiederkehrenden Mock-Initialisierungen abgelenkt. Leider sehe ich oft, dass Mocks in Setup-Methoden initialisiert werden und in den einzelnen Tests dann mit Mockito.when um spezielles Verhalten erweitert werden. Dieses Vorgehen sollte man vermeiden, da man so für das Verständnis des Tests zwischen Setup-Methode und Test hin und her springen muss. Dagegen macht das Builder-Pattern bei Verwendung von sprechenden Methodennamen sehr klar, auf was für konkreten Mocks die Tests jeweils aufbauen. Durch die Verwendung des Builder-Patterns für die Initialisierung von Testobjekten und Mocks kann man Unit-Tests so lesbar gestalten, dass ihr Inhalt auf einen Blick erfasst werden kann und zum Verständnis kaum Programmierkenntnisse erforderlich  sind.

 

Links:

Zurück zur Übersicht

Kommentar verfassen

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

*Pflichtfelder

*