Spock es un marco de pruebas y especificaciones para desarrolladores de estilo BDD para aplicaciones Java y Groovy. Para obtener más información sobre Spock, visite https://spockframework.org. Para ejecutar una especificación de muestra en su navegador, utilice Groovy Web Console.
La última versión 2.x es 2.4-M4 (2.4-M4-groovy-2.5, 2.4-M4-groovy-3.0, 2.4-M4-groovy-4.0), lanzada el 21 de marzo de 2024.
La versión de desarrollo actual es 2.4-SNAPSHOT (2.4-groovy-2.5-SNAPSHOT, 2.4-groovy-3.0-SNAPSHOT, 2.4-groovy-4.0-SNAPSHOT).
NOTA: Spock 2.x se basa en la plataforma JUnit 5 y requiere Java 8+/groovy-2.5+ (se recomienda Groovy 3.0 o 4.0, especialmente en proyectos que utilizan Java 12+).
Las versiones están disponibles en Maven Central. Las instantáneas de desarrollo están disponibles en Sonatype OSS.
Para compilaciones estables intermedias, recomendamos usar Jitpack (vaya aquí para obtener instrucciones):
Agregue https://jitpack.io como repositorio
Utilice org.spockframework.spock
como groupId
y el artifact-id
normal
repositorios {// ...maven {url 'https://jitpack.io' } } dependencias { testImplementation 'org.spockframework.spock:spock-core:spock-2.4-M4'testImplementation 'org.spockframework.spock:spock-spring:spock-2.4-M4'}
Para versiones intermedias, también puede utilizar el hash de confirmación como versión, por ejemplo, compilar com.github.spockframework.spock:spock-core:d91bf785a1
spock-core: marco central. Este es el único módulo obligatorio.
spock-specs: especificaciones para spock-core, implementadas con Spock. No es necesario para usar Spock.
spock-spring: integración con Spring TestContext Framework.
spock-tapestry: integración con el contenedor IoC de Tapestry 5.
spock-guice — Integración con Guice 2/3.
spock-unitils — Integración con Unitils.
Spock necesita tener instalados JDK 8 y JDK 17+.
Se requiere JDK 8 para compilar Spock mediante cadenas de herramientas (la descarga automática está deshabilitada).
La compilación de Gradle requiere al menos JDK 17 para ejecutarse.
Las ubicaciones de JDK deben darse a conocer a las cadenas de herramientas a través de la variable de entorno JDK<version>=<PATH>
, por ejemplo, JDK8=/path/to/jdk8
.
Spock es compatible con la versión 8+ de Java.
Spock es compatible con las versiones 2.5, 3.0 y 4.0 de Groovy.
Las pruebas están probando Spock con las versiones específicas (variantes) de Groovy y Java. La versión predeterminada de Groovy es 2.5.
La variante Groovy 3.0 y 4.0 debería pasar a todas las versiones JDK compatibles, Groovy 2.5 no funciona con Java 17+:
./gradlew compilación
Para construir una variante específica de Spock, use el nombre de la variante como parámetro
./gradlew compilación -Dvariant=4.0
Para realizar pruebas con una versión de Java específica, utilice el nombre de la versión de Java como parámetro; la ruta a la versión de Java debe establecerse mediante una variable de entorno JDK<version>=<PATH>
. Por supuesto, esto se puede combinar con la selección de variantes anterior.
./gradlew compilación -DjavaVersion=17
(Windows: gradlew build
). Todas las dependencias de compilación, incluida la propia herramienta de compilación, se descargarán automáticamente (a menos que ya estén presentes).
¡Las contribuciones son bienvenidas! Consulte la página de contribución para obtener instrucciones detalladas.
Si tiene algún comentario o pregunta, diríjalo al foro de usuarios. ¡Todos los comentarios son apreciados!
Todos los archivos jar publicados (comenzando con Spock 1.2) contendrán el atributo de manifiesto Nombre del módulo automático. Esto permite que Spock se utilice en una ruta de módulo de Java 9.
spock-core — org.spockframework.core
spock-primavera — org.spockframework.spring
tapiz-spock — org.spockframework.tapestry
spock-guice — org.spockframework.guice
spock-unitils — org.spockframework.unitils
Por lo tanto, los autores de módulos pueden utilizar nombres de módulos bien conocidos para los módulos spock, por ejemplo, algo como esto:
módulo abierto foo.bar { requiere org.spockframework.core; requiere org.spockframework.spring; }
El logotipo de Spock, creado por Ayşe Altınsoy (@AltinsoyAyse), se gestiona en el repositorio de logotipos de spock.
Página de inicio de Spock: https://spockframework.org
Consola web Groovy: https://groovyconsole.dev/
Organización GitHub: https://github.com/spockframework
Documentación de referencia: https://docs.spockframework.org
Foro de usuarios: https://github.com/spockframework/spock/discussions
Chat: https://gitter.im/spockframework/spock
Desbordamiento de pila: https://stackoverflow.com/questions/tagged/spock
Seguimiento de problemas: https://github.com/spockframework/spock/issues
Proyecto de ejemplo de Spock: https://github.com/spockframework/spock-example
Twitter: https://twitter.com/SpockFramework
Mastodonte - https://fosstodon.org/@spockframework
? ¡Viva mucho y prospere!
El equipo marco de Spock