Spock は、Java および Groovy アプリケーション用の BDD スタイルの開発者テストおよび仕様フレームワークです。Spock の詳細については、https://spockframework.org にアクセスしてください。ブラウザでサンプル仕様を実行するには、Groovy Web コンソールを使用します。
最新の 2.x リリース バージョンは2.4-M4 (2.4-M4-groovy-2.5、2.4-M4-groovy-3.0、2.4-M4-groovy-4.0) で、2024 年 3 月 21 日にリリースされました。
現在の開発バージョンは2.4-SNAPSHOT (2.4-groovy-2.5-SNAPSHOT、2.4-groovy-3.0-SNAPSHOT、2.4-groovy-4.0-SNAPSHOT) です。
注: Spock 2.x は JUnit 5 プラットフォームに基づいており、Java 8 以降/groovy-2.5 以降が必要です (特に Java 12 以降を使用するプロジェクトでは、Groovy 3.0 または 4.0 が推奨されます)。
リリースは Maven Central から入手できます。開発スナップショットは Sonatype OSS から入手できます。
中程度の安定したビルドの場合は、Jitpack を使用することをお勧めします (手順については、ここを参照してください)。
https://jitpack.io をリポジトリとして追加します
org.spockframework.spock
groupId
および通常のartifact-id
として使用します
リポジトリ {// ...maven { url 'https://jitpack.io' } } 依存関係 { testImplementation 'org.spockframework.spock:spock-core:spock-2.4-M4'testImplementation 'org.spockframework.spock:spock-spring:spock-2.4-M4'}
中間リリースの場合は、コミットハッシュをバージョンとして使用することもできます。たとえば、 com.github.spockframework.spock:spock-core:d91bf785a1
をコンパイルします。
spock-core — コアフレームワーク。これは唯一の必須モジュールです。
spock-specs — Spock を使用して実装された spock-core の仕様。 Spock を使用する場合は必要ありません。
spock-spring — Spring TestContext フレームワークとの統合。
spock-tapestry — Tapestry 5 IoC コンテナとの統合。
spock-guice — Guice 2/3 との統合。
spock-unitils — Unitils との統合。
Spock には、JDK 8 と JDK 17+ の両方がインストールされている必要があります。
ツールチェーン経由で Spock をコンパイルするには、JDK 8 が必要です (自動ダウンロードは無効になっています)。
Gradle ビルド自体を実行するには、少なくとも JDK 17 が必要です。
JDK の場所はJDK<version>=<PATH>
環境変数 (例: JDK8=/path/to/jdk8
を介してツールチェーンに知らせる必要があります。
Spock は Java バージョン 8 以降でサポートされています。
Spock は、Groovy バージョン 2.5、3.0、および 4.0 でサポートされています。
テストでは、Groovy と Java の特定のバージョン (バリアント) を使用して Spock をテストします。デフォルトの Groovy バージョンは 2.5 です。
Groovy 3.0 および 4.0 バリアントは、サポートされているすべての JDK バージョンを継承する必要があります。Groovy 2.5 は Java 17 以降では動作しません。
./gradlew ビルド
Spock の特定のバリアントを構築するには、バリアント名をパラメータとして使用します
./gradlew ビルド -Dvariant=4.0
特定の Java バージョンに対してテストするには、Java バージョン名をパラメータとして使用します。Java バージョンへのパスは、環境変数JDK<version>=<PATH>
を介して設定する必要があります。もちろん、これを上記のバリアント選択と組み合わせることができます。
./gradlew build -DjavaVersion=17
(Windows: gradlew build
)。ビルド ツール自体を含むすべてのビルド依存関係は、(すでに存在しない限り) 自動的にダウンロードされます。
貢献は大歓迎です!詳細な手順については、寄稿ページを参照してください。
ご意見やご質問がございましたら、ユーザー フォーラムまでお寄せください。すべてのフィードバックを歓迎します。
すべての公開された jar (Spock 1.2 以降) には、Automatic-Module-Name マニフェスト属性が含まれます。これにより、Spock を Java 9 モジュール パスで使用できるようになります。
スポックコア — org.spockframework.core
スポックスプリング — org.spockframework.spring
スポックタペストリー — org.spockframework.tapestry
スポック-guice — org.spockframework.guice
spock-unitils — org.spockframework.unitils
したがって、モジュール作成者は、Spock モジュールによく知られているモジュール名を使用できます。たとえば、次のようなものです。
モジュール foo.bar を開く { org.spockframework.core が必要です。 org.spockframework.spring が必要です。 }
Ayşe Altınsoy (@AltinsoyAyse) によって作成された Spock ロゴは、spock-logo リポジトリで管理されます。
スポックのホームページ — https://spockframework.org
Groovy Web コンソール — https://groovyconsole.dev/
GitHub 組織 — https://github.com/spockframework
参考ドキュメント — https://docs.spockframework.org
ユーザーフォーラム — https://github.com/spockframework/spock/Discussions
チャット — https://gitter.im/spockframework/spock
スタック オーバーフロー — https://stackoverflow.com/questions/tagged/spock
問題トラッカー — https://github.com/spockframework/spock/issues
Spock サンプル プロジェクト — https://github.com/spockframework/spock-example
Twitter — https://twitter.com/SpockFramework
マストドン — https://fosstodon.org/@spockframework
?長生きして繁栄してください!
Spock フレームワーク チーム