従来の Spock バージョンでは動作しなくなっているため注意が必要。なお、DI コンテナの起動を伴わないシンプルなテストであれば、従来通りのモジュールバージョンで問題なく動作します。
環境
- Java 1.8.0_91
- Maven 3.3.9 (Maven wrapper)
- Groovy 2.4.7
- Spock 1.1-groovy-2.4-rc-1
terminal
$ ./mvnw -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T01:41:47+09:00)
Maven home: /Users/yo1000/.m2/wrapper/dists/apache-maven-3.3.9-bin/2609u9g41na2l7ogackmif6fj2/apache-maven-3.3.9
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac"
設定
注意すべきはバージョンのみなので、依存部分を抜粋。
spock-core
と spock-spring
に、1.1-groovy-2.4-rc-1
を指定しているところがポイント。
従来バージョンである 1.0-groovy-2.4
を指定した場合には、テストを起動しても DI コンテナが起動しません。
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-core</artifactId>
<version>1.1-groovy-2.4-rc-1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-spring</artifactId>
<version>1.1-groovy-2.4-rc-1</version>
<scope>test</scope>
</dependency>
1.1 の正式リリースが待ち遠しい。