Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven无法运行Grails-Spock集成测试_Maven_Grails_Spock - Fatal编程技术网

Maven无法运行Grails-Spock集成测试

Maven无法运行Grails-Spock集成测试,maven,grails,spock,Maven,Grails,Spock,出于某种原因,Maven Grails集成未能运行Spock(集成阶段)*测试 使用普通的grails命令grails测试应用程序,可以很好地执行测试, 但是Maven版本的mvn grails:test应用程序失败了。我在设置中遵循了 我的grailsBuildConfig.groovy具有以下特性 dependencies { // ... irrelevant dependencies omitted test 'org.spockframework:spock-grails-su

出于某种原因,Maven Grails集成未能运行Spock(集成阶段)*测试

使用普通的grails命令
grails测试应用程序
,可以很好地执行测试, 但是Maven版本的mvn grails:test应用程序失败了。我在设置中遵循了

我的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>

org.spockframework
斯波克堆芯
${spock.version}
测试
org.grails
GrailsMaven插件
${grails.version}
真的
真的
org.spockframework
斯波克·马文
${spock.version}
查找规格
其中Grails版本为2.2.4Spock版本为0.7-groovy-2.0

底线是,斯波克测试根本就没有执行。这是怎么回事


*到目前为止,只有使用Spock编写的集成阶段测试应该在
pom.xml
中指定插件依赖项,而不是在mavenized项目中指定
BuildConfig
。 将
BuildConfig
中的spock条目替换为
pom.xml
中的以下条目(删除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>

org.grails.plugins
斯波克
0.7
运行时
拉链
org.spockframework
spock grails支持
org.spockframework
spock grails支持
0.7-groovy-2.0
运行时

您也不需要
spockmaven
maven pluing,我想

谢谢您的快速响应。我让它和你的maven配置一起工作。我的问题中提到的斯波克的所有参考资料都可以安全地从BuildConfig@JAndy您可以将
修改为
测试
,而不是
运行时
。我在
测试
范围方面遇到了一些问题,因此我不得不将其默认为
运行时
(尽管在测试期间运行时依赖项也可用)