由于某种原因,Maven Grails集成无法运行Spock(集成阶段)*测试
使用普通的grails命令grails test-app
可以很好地执行测试,
但是Maven版本mvn grails:test-app
失败了。我在设置中跟踪了this example。
我的Grails BuildConfig.groovy
有以下
dependencies {
// ... irrelevant dependencies omitted
test 'org.spockframework:spock-grails-support:0.7-groovy-2.0'
}
plugins {
// ... irrelevant plugins omitted
test(":spock:0.7") { exclude "spock-grails-support"
}
Maven pom.xml
<dependencies>
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-core</artifactId>
<version>${spock.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.grails</groupId>
<artifactId>grails-maven-plugin</artifactId>
<version>${grails.version}</version>
<configuration>
<fork>true</fork>
</configuration>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.spockframework</groupId>
<artifactId>spock-maven</artifactId>
<version>${spock.version}</version>
<executions>
<execution>
<goals>
<goal>find-specs</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
其中 Grails版本为2.2.4 且 Spock版本为0.7-groovy-2.0
最重要的是 Spock测试根本没有被执行。那是什么?
*到目前为止,只有Spock编写了集成阶段测试
答案 0 :(得分:3)
在mavenized项目中,应在pom.xml
而不是BuildConfig
中指定插件依赖项。
使用BuildConfig
中的以下条目替换pom.xml
中的spock条目(删除spock插件以及依赖于支持jar)。
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>spock</artifactId>
<version>0.7</version>
<scope>runtime</scope>
<type>zip</type>
<exclusions>
<exclusion>
<groupId>org.spockframework</groupId>
<artifactId>spock-grails-support</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-grails-support</artifactId>
<version>0.7-groovy-2.0</version>
<scope>runtime</scope>
</dependency>
我想你也不需要spock-maven
maven,我想