---
kind: event
startdate: 2022-01-13T19:30:00Z
duration: 2h
title: "Das Testframework Spock"
speakers:
  -
    name: 'Juliane Hochstein'
    affiliation: Bibliothekarin
location:
  location: senfcall-bbb
public: true
---
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.
