Spock ist ein Entwicklertest- und Spezifikationsframework im BDD-Stil für Java- und Groovy-Anwendungen. Um mehr über Spock zu erfahren, besuchen Sie https://spockframework.org. Um eine Beispielspezifikation in Ihrem Browser auszuführen, verwenden Sie die Groovy-Webkonsole.
Die neueste 2.x-Release-Version ist 2.4-M4 (2.4-M4-groovy-2.5, 2.4-M4-groovy-3.0, 2.4-M4-groovy-4.0), veröffentlicht am 21.03.2024.
Die aktuelle Entwicklungsversion ist 2.4-SNAPSHOT (2.4-groovy-2.5-SNAPSHOT, 2.4-groovy-3.0-SNAPSHOT, , 2.4-groovy-4.0-SNAPSHOT).
HINWEIS: Spock 2.x basiert auf der JUnit 5-Plattform und erfordert Java 8+/groovy-2.5+ (Groovy 3.0 oder 4.0 wird empfohlen, insbesondere in Projekten mit Java 12+).
Veröffentlichungen sind bei Maven Central erhältlich. Entwicklungs-Snapshots sind bei Sonatype OSS verfügbar.
Für mittelschwere stabile Builds empfehlen wir die Verwendung von Jitpack (Anweisungen finden Sie hier):
Fügen Sie https://jitpack.io als Repository hinzu
Verwenden Sie org.spockframework.spock
als groupId
und die normale artifact-id
Repositories {// ...maven { url 'https://jitpack.io' } } Abhängigkeiten { testImplementation 'org.spockframework.spock:spock-core:spock-2.4-M4'testImplementation 'org.spockframework.spock:spock-spring:spock-2.4-M4'}
Für Zwischenversionen können Sie auch den Commit-Hash als Version verwenden, z. B. kompilieren Sie com.github.spockframework.spock:spock-core:d91bf785a1
spock-core – Kern-Framework. Dies ist das einzige Pflichtmodul.
spock-specs – Spezifikationen für Spock-Core, implementiert mit Spock. Für die Verwendung von Spock nicht erforderlich.
spock-spring – Integration mit dem Spring TestContext Framework.
spock-tapistry – Integration mit dem Tapestry 5 IoC-Container.
spock-guice – Integration mit Guice 2/3.
spock-unitils – Integration mit Unitils.
Spock benötigt sowohl JDK 8 als auch JDK 17+.
Zum Kompilieren von Spock über Toolchains ist JDK 8 erforderlich (automatischer Download ist deaktiviert).
Für die Ausführung des Gradle-Builds selbst ist mindestens JDK 17 erforderlich.
JDK-Standorte müssen Toolchains über die Umgebungsvariable JDK<version>=<PATH>
bekannt gegeben werden, z. B. JDK8=/path/to/jdk8
.
Spock wird für Java Version 8+ unterstützt.
Spock wird für die Groovy-Versionen 2.5, 3.0 und 4.0 unterstützt.
Bei den Tests wird Spock mit den spezifischen Versionen (Varianten) von Groovy und Java getestet. Die Standardversion von Groovy ist 2.5.
Die Variante Groovy 3.0 und 4.0 soll alle unterstützten JDK-Versionen weitergeben, Groovy 2.5 funktioniert nicht mit Java 17+:
./gradlew build
Um eine bestimmte Variante von Spock zu erstellen, verwenden Sie den Variantennamen als Parameter
./gradlew build -Dvariant=4.0
Um mit einer bestimmten Java-Version zu testen, verwenden Sie den Java-Versionsnamen als Parameter. Der Pfad zur Java-Version muss über eine Umgebungsvariable JDK<version>=<PATH>
festgelegt werden. Selbstverständlich ist dies mit der Variantenauswahl von oben kombinierbar.
./gradlew build -DjavaVersion=17
(Windows: gradlew build
). Alle Build-Abhängigkeiten, einschließlich des Build-Tools selbst, werden automatisch heruntergeladen (sofern nicht bereits vorhanden).
Beiträge sind willkommen! Detaillierte Anweisungen finden Sie auf der Beitragsseite.
Wenn Sie Kommentare oder Fragen haben, richten Sie diese bitte an das Benutzerforum. Wir freuen uns über jedes Feedback!
Alle veröffentlichten JAR-Dateien (beginnend mit Spock 1.2) enthalten das Manifestattribut „Automatic-Module-Name“. Dadurch kann Spock in einem Java 9-Modulpfad verwendet werden.
spock-core – org.spockframework.core
spock-spring – org.spockframework.spring
spock-tapestry – org.spockframework.tapestry
spock-guice – org.spockframework.guice
spock-unitils – org.spockframework.unitils
Daher können Modulautoren bekannte Modulnamen für die Spock-Module verwenden, z. B. so etwas:
Modul foo.bar { öffnen erfordert org.spockframework.core; erfordert org.spockframework.spring; }
Das von Ayşe Altınsoy (@AltinsoyAyse) erstellte Spock-Logo wird im Spock-Logo-Repository verwaltet.
Spock-Homepage – https://spockframework.org
Groovy-Webkonsole – https://groovyconsole.dev/
GitHub-Organisation – https://github.com/spockframework
Referenzdokumentation – https://docs.spockframework.org
Benutzerforum – https://github.com/spockframework/spock/discussions
Chat – https://gitter.im/spockframework/spock
Stapelüberlauf – https://stackoverflow.com/questions/tagged/spock
Issue-Tracker – https://github.com/spockframework/spock/issues
Spock-Beispielprojekt – https://github.com/spockframework/spock-example
Twitter – https://twitter.com/SpockFramework
Mastodon – https://fosstodon.org/@spockframework
? Lebe lange und gedeihe!
Das Spock Framework-Team