Spock é uma estrutura de teste e especificação de desenvolvedor no estilo BDD para aplicativos Java e Groovy. Para saber mais sobre Spock, visite https://spockframework.org. Para executar uma especificação de amostra em seu navegador, use o Groovy Web Console.
A versão 2.x mais recente é 2.4-M4 (2.4-M4-groovy-2.5, 2.4-M4-groovy-3.0, 2.4-M4-groovy-4.0), lançada em 21/03/2024.
A versão de desenvolvimento atual é 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 é baseado na plataforma JUnit 5 e requer Java 8+/groovy-2.5+ (Groovy 3.0 ou 4.0 é recomendado, especialmente em projetos que usam Java 12+).
As versões estão disponíveis no Maven Central. Instantâneos de desenvolvimento estão disponíveis no Sonatype OSS.
Para compilações estáveis intermediárias, recomendamos usar o Jitpack (acesse aqui para obter instruções):
Adicione https://jitpack.io como repositório
Use org.spockframework.spock
como groupId
e o artifact-id
normal
repositórios {// ...maven { url 'https://jitpack.io' } } dependências { testImplementation 'org.spockframework.spock:spock-core:spock-2.4-M4'testImplementation 'org.spockframework.spock:spock-spring:spock-2.4-M4'}
Para versões intermediárias, você também pode usar o commit-hash como versão, por exemplo, compile com.github.spockframework.spock:spock-core:d91bf785a1
spock-core — Estrutura central. Este é o único módulo obrigatório.
spock-specs — Especificações para spock-core, implementadas usando Spock. Não é necessário para usar Spock.
spock-spring — Integração com o Spring TestContext Framework.
spock-tapestry — Integração com o contêiner Tapestry 5 IoC.
spock-guice — Integração com Guice 2/3.
spock-unitils — Integração com Unitils.
Spock precisa de um JDK 8 e JDK 17+ instalados.
O JDK 8 é necessário para compilar o Spock por meio de conjuntos de ferramentas (o download automático está desabilitado).
A própria compilação gradle requer pelo menos JDK 17 para ser executada.
Os locais do JDK devem ser divulgados aos conjuntos de ferramentas por meio da variável de ambiente JDK<version>=<PATH>
, por exemplo, JDK8=/path/to/jdk8
.
Spock é compatível com Java versão 8+.
Spock é compatível com as versões 2.5, 3.0 e 4.0 do Groovy.
Os testes testam Spock com as versões específicas (variantes) de Groovy e Java. A versão padrão do Groovy é 2.5.
A variante Groovy 3.0 e 4.0 deve passar em todas as versões JDK suportadas, Groovy 2.5 não funciona com Java 17+:
./gradlew compilação
Para construir uma variante específica de Spock, use o nome da variante como parâmetro
./gradlew build -Dvariant=4.0
Para testar uma versão Java específica, use o nome da versão Java como parâmetro, o caminho para a versão Java deve ser definido por meio de uma variável de ambiente JDK<version>=<PATH>
. Claro, isso pode ser combinado com a seleção de variantes acima.
./gradlew build -DjavaVersion=17
(Windows: gradlew build
). Todas as dependências de compilação, incluindo a própria ferramenta de compilação, serão baixadas automaticamente (a menos que já estejam presentes).
Contribuições são bem-vindas! Consulte a página de contribuição para obter instruções detalhadas.
Se você tiver quaisquer comentários ou perguntas, encaminhe-os para o fórum de usuários. Todos os comentários são apreciados!
Todos os jars publicados (começando com Spock 1.2) conterão o atributo de manifesto Automatic-Module-Name. Isso permite que Spock seja usado em um caminho de módulo 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
Portanto, os autores dos módulos podem usar nomes de módulos bem conhecidos para os módulos Spock, por exemplo, algo como isto:
abra o módulo foo.bar { requer org.spockframework.core; requer org.spockframework.spring; }
O logotipo Spock, criado por Ayşe Altınsoy (@AltinsoyAyse), é gerenciado no repositório spock-logo.
Página inicial de Spock - https://spockframework.org
Console da Web Groovy – https://groovyconsole.dev/
Organização GitHub – https://github.com/spockframework
Documentação de referência — https://docs.spockframework.org
Fórum de usuários – https://github.com/spockframework/spock/discussions
Bate-papo - https://gitter.im/spockframework/spock
Estouro de pilha – https://stackoverflow.com/questions/tagged/spock
Rastreador de problemas – https://github.com/spockframework/spock/issues
Projeto de exemplo Spock - https://github.com/spockframework/spock-example
Twitter – https://twitter.com/SpockFramework
Mastodonte — https://fosstodon.org/@spockframework
? Viva muito e prospere!
A equipe da estrutura Spock