Spock est un framework de test et de spécification de style BDD pour les applications Java et Groovy. Pour en savoir plus sur Spock, visitez https://spockframework.org. Pour exécuter un exemple de spécification dans votre navigateur, utilisez la console Web Groovy.
La dernière version 2.x est la 2.4-M4 (2.4-M4-groovy-2.5, 2.4-M4-groovy-3.0, 2.4-M4-groovy-4.0), publiée le 21/03/2024.
La version de développement actuelle est 2.4-SNAPSHOT (2.4-groovy-2.5-SNAPSHOT, 2.4-groovy-3.0-SNAPSHOT, 2.4-groovy-4.0-SNAPSHOT).
REMARQUE : Spock 2.x est basé sur la plate-forme JUnit 5 et nécessite Java 8+/groovy-2.5+ (Groovy 3.0 ou 4.0 est recommandé, en particulier dans les projets utilisant Java 12+).
Les versions sont disponibles sur Maven Central. Des instantanés de développement sont disponibles auprès de Sonatype OSS.
Pour les versions stables intermédiaires, nous vous recommandons d'utiliser Jitpack (cliquez ici pour les instructions) :
Ajouter https://jitpack.io comme référentiel
Utilisez org.spockframework.spock
comme groupId
et l' artifact-id
normal
dépôts {// ...maven { url 'https://jitpack.io' } } dépendances { testImplementation 'org.spockframework.spock:spock-core:spock-2.4-M4'testImplementation 'org.spockframework.spock:spock-spring:spock-2.4-M4'}
Pour les versions intermédiaires, vous pouvez également utiliser le commit-hash comme version, par exemple compiler com.github.spockframework.spock:spock-core:d91bf785a1
spock-core — Cadre de base. C'est le seul module obligatoire.
spock-specs — Spécifications pour spock-core, implémentées à l'aide de Spock. Non requis pour utiliser Spock.
spock-spring — Intégration avec le framework Spring TestContext.
spock-tapestry — Intégration avec le conteneur Tapestry 5 IoC.
spock-guice — Intégration avec Guice 2/3.
spock-unitils — Intégration avec Unitils.
Spock a besoin d'installer à la fois un JDK 8 et un JDK 17+.
JDK 8 est requis pour compiler Spock via des chaînes d'outils (le téléchargement automatique est désactivé).
La version Gradle elle-même nécessite au moins JDK 17 pour s'exécuter.
Les emplacements du JDK doivent être communiqués aux chaînes d'outils via la variable d'environnement JDK<version>=<PATH>
, par exemple JDK8=/path/to/jdk8
.
Spock est pris en charge pour Java version 8+.
Spock est pris en charge pour les versions Groovy 2.5, 3.0 et 4.0.
Les tests testent Spock avec les versions spécifiques (variantes) de Groovy et Java. La version par défaut de Groovy est 2.5.
Les variantes Groovy 3.0 et 4.0 devraient transmettre toutes les versions du JDK prises en charge, Groovy 2.5 ne fonctionne pas avec Java 17+ :
./gradlew build
Pour créer une variante spécifique de Spock, utilisez le nom de la variante comme paramètre
./gradlew build -Dvariant=4.0
Pour tester une version Java spécifique, utilisez le nom de la version Java comme paramètre, le chemin d'accès à la version Java doit être défini via une variable d'environnement JDK<version>=<PATH>
. Bien entendu, cela peut être combiné avec la sélection de variantes ci-dessus.
./gradlew build -DjavaVersion=17
(Windows : gradlew build
). Toutes les dépendances de build, y compris l'outil de build lui-même, seront téléchargées automatiquement (sauf si elles sont déjà présentes).
Les contributions sont les bienvenues ! Veuillez consulter la page de contribution pour des instructions détaillées.
Si vous avez des commentaires ou des questions, veuillez les diriger vers le forum des utilisateurs. Tous les commentaires sont appréciés !
Tous les fichiers jar publiés (à partir de Spock 1.2) contiendront l'attribut manifeste Automatic-Module-Name. Cela permet à Spock d'être utilisé dans un chemin de module Java 9.
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
Ainsi, les auteurs de modules peuvent utiliser des noms de module bien connus pour les modules spock, par exemple quelque chose comme ceci :
ouvrir le module foo.bar { nécessite org.spockframework.core ; nécessite org.spockframework.spring ; }
Le logo Spock, créé par Ayşe Altınsoy (@AltinsoyAyse), est géré dans le référentiel spock-logo.
Page d'accueil de Spock — https://spockframework.org
Console Web Groovy — https://groovyconsole.dev/
Organisation GitHub — https://github.com/spockframework
Documentation de référence — https://docs.spockframework.org
Forum des utilisateurs — https://github.com/spockframework/spock/discussions
Chat — https://gitter.im/spockframework/spock
Débordement de pile — https://stackoverflow.com/questions/tagged/spock
Suivi des problèmes — https://github.com/spockframework/spock/issues
Exemple de projet Spock — https://github.com/spockframework/spock-example
Twitter — https://twitter.com/SpockFramework
Mastodonte — https://fosstodon.org/@spockframework
? Vivez longtemps et prospérez !
L'équipe du framework Spock