Maven无法运行Grails Spock集成测试

时间:2013-09-19 15:11:29

标签: maven grails spock

由于某种原因,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编写了集成阶段测试

1 个答案:

答案 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,我想