CCCStuttgart

Das Testframework Spock


Durch Tests versucht man, Fehler in Programmen möglichst früh aufzuspüren, um sie dann idealerweise auch zu beheben. Neben Tests durch die zukünftigen Nutzer des Programms werden dabei in der Softwareentwicklung häufig sogenannte Unit-Tests eingesetzt, die jeweils kleine Einheiten des Programmcodes überprüfen. Ein bekanntes Testframework für Java-Programme ist z.B. JUnit, für andere Programmiersprachen existieren ähnliche Frameworks.

Spock ist ein Testframework der Programmiersprache Groovy, das auch mit weiteren Programmiersprachen kombiniert werden kann. Spock verwendet den JUnit-Testrunner, bietet aber eine eigene Syntax, die sich deutlich von JUnit unterscheidet. Dabei werden sowohl die Eigenschaften von Groovy genutzt als auch Spock-spezifische Schlüsselwörter und Techniken ergänzt. Eine Besonderheit von Spock sind die benannten Blöcke, die die explizite Gliederung von Tests nach dem given-when-then-Muster ermöglichen. Außerdem unterstützt Spock den Ansatz des Data-Driven Testing durch eine sehr einfache und flexible Syntax für parametrisierte Tests.

Der Vortrag stellt die verschiedenen Elemente von Spock vor und demonstriert das Testen von Java-Programmen mit Spock.

Spock zeichnet sich insgesamt durch einen Fokus auf klar strukturierte und leicht lesbare Tests aus. Grundlegende Programmierkenntnisse und erste Erfahrungen mit Unit-Tests sind für das Verständnis der Code-Beispiele aber sicher hilfreich.

Zur Person

Juliane Hochstein studierte Bibliotheks- und Medienmanagement an der Hochschule der Medien in Stuttgart. Anschließend arbeitete sie in verschiedenen Bereichen der Universitätsbibliothek Heidelberg. Seit 2017 ist sie bei den Digitalen Diensten der Universitätsbibliothek Stuttgart tätig. Berufsbegleitend studiert sie außerdem Praktische Informatik an der FernUniversität in Hagen.