Erste Hauptversion für Specification Framework Spek

Kotlin-Framework Spek 1.0 erschienen: „Du testest Code – wir testen Spezifikation“

Kypriani Sinaris

© Shutterstock.com / McIek

Ein Spezifikations-Framework, mit dem Tests in Kotlin geschrieben werden können, die sowohl Kotlin- als auch Java-Code unter die Lupe nehmen – das ist Spek. Nun wurde die erste Hauptversion des Frameworks veröffentlicht.

Das in Kotlin geschriebene Framework Spek hat sein erstes Major Release erreicht. Mit dem Framework können Spezifikationen verfasst werden, mit denen sich das gewünschte Verhalten einer Software-Komponente überprüfen lassen.

Damit soll ein Grundproblem von Software-Tests angegangen werden, nämlich, dass das reine Testen von Programmiercode auf Korrektheit nicht verbürgen kann, dass der Code auch die festgelegten Anforderungen erfüllt. Ein „grüner Test“ herkömmlicher Art täuscht vielfach darüber hinweg, dass eine Komponente nicht das vom User erwartete Verhalten zeigt.

Da Spek in JetBrains aktueller Lieblingssprache Kotlin geschrieben ist, sind auch alle Spezifikationen in Kotlin gehalten. Das „System under Test“ (SUT) kann aber sowohl in Java als auch in Kotlin vorliegen, da Kotlin vollständig kompatibel zu Java ist. Aktuell ist für Spek das JDK 8 erforderlich, auch im Hinblick auf den JUnit 5  Support. IDE-seitig wird sowohl IntelliJ IDEA als auch Android Studio über ein Plug-in unterstützt. Android Integrationstests unterstützt Spek jedoch nicht. Dafür muss der Weg über die Jack Toolchain gegangen werden.

 

idea-plugin

IDEA Plug-in, Quelle: Spek Notes

Spek 1.0: Was ist neu?

Eine der größten Änderungen in Spek 1.0 betrifft die Unterstützung von JUnit. In Version 1.0 wird JUnit als abstrahiertes Element gehandhabt, sodass bei der Implementierung einer eigenen Infrastruktur keine APIs oder das Verhalten des Test-Frameworks beeinflusst werden. Spek 1.0 unterstützt JUnit 5, Entwickler die auf die Vorgängerversion 4 vertrauen, können damit aber auch weiterarbeiten.

Auch eine Reihe an neuen APIs wurde dem Framework spendiert: Neben Vereinfachungen der Syntax sorgt xdescribe dafür, dass Tests mit dem Präfix x ignoriert werden können. Das sogenannte „Focused API“, das in früheren Versionen zum Einsatz kam, wurde entfernt. Individuelle Tests werden ab Version 1.0 nicht mehr vom Focused API sondern von einem passenden IntelliJ IDEA Plug-in übernommen. Eine vollständige Liste aller Features finden Sie in den Release Notes.

Wie in den FAQs herausgestellt wird, ist Spek entgegen des ersten Eindrucks auf der Projektseite kein offizielles JetBrains-Projekt, sondern ein von Hadi Hariri initiiertes Projekt, VP of Developer Advocacy bei JetBrains. Mehr Informationen finden Sie auf der Projektseite sowie auf GitHub.

Verwandte Themen:

Geschrieben von
Kypriani Sinaris
Kypriani Sinaris
Kypriani Sinaris studierte Kognitive Linguistik an der Goethe Universität Frankfurt am Main. Seit 2015 ist sie Redakteurin bei JAXenter und dem Java Magazin.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: