Spock adalah kerangka pengujian dan spesifikasi pengembang gaya BDD untuk aplikasi Java dan Groovy. Untuk mempelajari lebih lanjut tentang Spock, kunjungi https://spockframework.org. Untuk menjalankan spesifikasi sampel di browser Anda, gunakan Konsol Web Groovy.
Versi rilis 2.x terbaru adalah 2.4-M4 (2.4-M4-groovy-2.5, 2.4-M4-groovy-3.0, 2.4-M4-groovy-4.0), dirilis pada 21-03-2024.
Versi pengembangan saat ini adalah 2.4-SNAPSHOT (2.4-groovy-2.5-SNAPSHOT, 2.4-groovy-3.0-SNAPSHOT, , 2.4-groovy-4.0-SNAPSHOT).
CATATAN: Spock 2.x didasarkan pada Platform JUnit 5 dan memerlukan Java 8+/groovy-2.5+ (disarankan Groovy 3.0 atau 4.0, terutama pada proyek yang menggunakan Java 12+).
Rilis tersedia dari Maven Central. Cuplikan pengembangan tersedia dari Sonatype OSS.
Untuk build stabil menengah kami menyarankan untuk menggunakan Jitpack (buka di sini untuk petunjuknya):
Tambahkan https://jitpack.io sebagai repositori
Gunakan org.spockframework.spock
sebagai groupId
dan artifact-id
normal
repositori {// ...maven { url 'https://jitpack.io' } } ketergantungan { testImplementation 'org.spockframework.spock:spock-core:spock-2.4-M4'testImplementation 'org.spockframework.spock:spock-spring:spock-2.4-M4'}
Untuk rilis perantara, Anda juga dapat menggunakan hash komit sebagai versi, misalnya kompilasi com.github.spockframework.spock:spock-core:d91bf785a1
spock-core - Kerangka inti. Ini adalah satu-satunya modul wajib.
spock-specs — Spesifikasi untuk spock-core, diimplementasikan menggunakan Spock. Tidak diperlukan untuk menggunakan Spock.
spock-spring - Integrasi dengan Spring TestContext Framework.
spock-tapestry — Integrasi dengan wadah Tapestry 5 IoC.
spock-guice — Integrasi dengan Guice 2/3.
spock-unitils — Integrasi dengan Unitils.
Spock memerlukan instalasi JDK 8 dan JDK 17+.
JDK 8 diperlukan untuk mengkompilasi Spock melalui toolchains (unduhan otomatis dinonaktifkan).
Gradle build itu sendiri membutuhkan setidaknya JDK 17 untuk dijalankan.
Lokasi JDK harus diketahui oleh rantai alat melalui variabel lingkungan JDK<version>=<PATH>
, misalnya JDK8=/path/to/jdk8
.
Spock didukung untuk Java versi 8+.
Spock didukung untuk Groovy versi 2.5, 3.0, dan 4.0.
Pengujian tersebut menguji Spock dengan versi (varian) spesifik Groovy dan Java. Versi Groovy default adalah 2.5.
Varian Groovy 3.0 dan 4.0 harus meneruskan semua versi JDK yang didukung, Groovy 2.5 tidak bekerja dengan Java 17+:
./gradlew build
Untuk membuat varian Spock tertentu, gunakan nama varian sebagai parameter
./gradlew build -Dvarian=4.0
Untuk menguji terhadap versi Java tertentu, gunakan nama versi Java sebagai parameter, jalur ke versi Java harus disetel melalui variabel lingkungan JDK<version>=<PATH>
. Tentu saja hal ini bisa dipadukan dengan pilihan varian dari atas.
./gradlew build -DjavaVersion=17
(Windows: gradlew build
). Semua dependensi build, termasuk alat build itu sendiri, akan diunduh secara otomatis (kecuali sudah ada).
Kontribusi dipersilakan! Silakan lihat halaman kontribusi untuk petunjuk rinci.
Jika Anda memiliki komentar atau pertanyaan, silakan arahkan ke forum pengguna. Semua umpan balik dihargai!
Semua toples yang diterbitkan (dimulai dengan Spock 1.2) akan berisi atribut manifes Nama Modul Otomatis. Hal ini memungkinkan Spock untuk digunakan di Jalur Modul Java 9.
spock-core — org.spockframework.core
spock-spring — org.spockframework.spring
spock-permadani — org.spockframework.tapestry
spock-guice — org.spockframework.guice
spock-unitils — org.spockframework.unitils
Jadi pembuat modul dapat menggunakan nama modul terkenal untuk modul spock, misalnya seperti ini:
buka modul foo.bar { membutuhkan org.spockframework.core; membutuhkan org.spockframework.spring; }
Logo Spock, dibuat oleh Ayşe Altınsoy (@AltinsoyAyse), dikelola di repositori spock-logo.
Beranda Spock — https://spockframework.org
Konsol Web Groovy — https://groovyconsole.dev/
Organisasi GitHub — https://github.com/spockframework
Dokumentasi Referensi — https://docs.spockframework.org
Forum Pengguna — https://github.com/spockframework/spock/discussions
Obrolan — https://gitter.im/spockframework/spock
Stack Overflow — https://stackoverflow.com/questions/tagged/spock
Pelacak Masalah — https://github.com/spockframework/spock/issues
Proyek Contoh Spock - https://github.com/spockframework/spock-example
Twitter — https://twitter.com/SpockFramework
Mastodon — https://fosstodon.org/@spockframework
? Panjang Umur Dan Sejahtera!
Tim Kerangka Spock