52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
---
|
|
kind: event
|
|
startdate: 2022-01-13T19:30:00Z
|
|
duration: 2h
|
|
title: "Das Testframework Spock"
|
|
speakers:
|
|
-
|
|
name: 'Juliane Hochstein'
|
|
affiliation: Bibliothekarin
|
|
location:
|
|
location: senfcall-bbb
|
|
material:
|
|
-
|
|
title: Folien
|
|
file: 202201-testframework-spock.pdf
|
|
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.
|