Unit Tests sind mit dem XC-Testframework ein integraler Bestandteil der XCode-Entwicklungsumgebung. Schon bei der Anlage eines neuen Projektes werden die notwendigen Einstellungen für die Unit Tests angeboten. Auch wurde mit Swift als Sprache für die Tests sowie der einfachen Einbindung der eigentlichen Anwendung in den Unit Tests eine Grundlage geschaffen, die die Einstiegshürde in Unit Tests für Entwicklern sehr niedrig hängt.

Trotzdem werden Unit Tests in der Entwicklergemeinschaft bei weitem nicht so oft genutzt, wie man es erwarten sollte. So finden sich selbst unter den Top 10 Projekten in Swift auf Github Projekte ohne Unit-Tests. Von der Vielzahl an Projekten, die dort ohne diese oder nur aus den Template-Vorlagen der Projekterstellung bestehen, nicht zu sprechen.

Dabei stellen Unit Tests (bei richtiger Anwendung eine vergleichsweise geringe Investition in die Zukunft einer Anwendung oder eines Frameworks dar, denn jeder Test, der erstellt wird kann in Zukunft beliebig automatisch wiederholt werden und so den Entwickler von repetitiven Regressionstests entlasten. Jede Änderung an einer Anwendung führt zu erhöhtem Nutzen eines Unit Tests.

In dieser Blog-Eintrags-Serie wird in die Erstellung von Unit-Tests eingeführt. Dabei verlagert sich Schritt für Schritt der inhaltliche Schwerpunkt von der reinen XC-Framework-Anwendung hin zum Testpattern und Design for Testabillity, also dem gezielten Entwurf von leicht testbaren Code und von Entwurfsmustern für Testfälle.

Ich benutze für die Blogreihe XCode in der Version 11.3. Die erstellen Beispielprojekte veröffentliche ich auf Github unter https://github.com/Holger-Mayer