maven - 使用位于 src/test/java 中的 Maven 运行 Spock 测试

标签 maven groovy spock surefire gmaven

我编写了一些 Spock 测试:

MyTest.groovy
ConfTest.groovy

这是 Spock 测试。它们位于 src/test/java 中,当我运行验证时,它们被跳过。当我将它们放入 src/test/groovy Maven 时找到它们。当它们位于 src/test/java 中时,我可以配置 Maven 来查找它们吗? 我的 Maven 配置是:

 <!-- Groovy compilation -->
            <plugin>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>1.4</version>
                <configuration>
                    <providerSelection>1.8</providerSelection>
                    <source/>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>generateStubs</goal>
                            <goal>compile</goal>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.gmaven.runtime</groupId>
                        <artifactId>gmaven-runtime-1.8</artifactId>
                        <version>1.4</version>
                        <exclusions>
                            <exclusion>
                                <groupId>org.codehaus.groovy</groupId>
                                <artifactId>groovy-all</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-all</artifactId>
                        <version>1.8.6</version>
                    </dependency>
                    <dependency>
                        <groupId>org.spockframework</groupId>
                        <artifactId>spock-core</artifactId>
                        <version>0.7-groovy-1.8</version>
                        <exclusions>
                            <exclusion>
                                <groupId>org.codehaus.groovy</groupId>
                                <artifactId>groovy-all</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                </dependencies>
            </plugin>

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <useFile>false</useFile>
                <includes>
                    <include>**/*Test.*</include>
                </includes>
            </configuration>
        </plugin>

最佳答案

将此添加到插件级别的 GMaven 配置中:

<configuration>
    <testSources>
        <testSource>
                <directory>${pom.basedir}/src/test/java</directory>
                <includes>
                    <include>**/*.groovy</include>
                </includes>
        </testSource>
    </testSources>
</configuration>

更新:或在执行级别添加此内容(参见 groovy:testCompile goal documentation ):

<execution>
    <goals>
        <goal>testCompile</goal>
    </goals>
    <configuration>
        <sources>
            <source>
                <directory>${pom.basedir}/src/test/java</directory>
                <includes>
                    <include>**/*.groovy</include>
                </includes>
            </source>
        </sources>
    </configuration>
</execution>

关于maven - 使用位于 src/test/java 中的 Maven 运行 Spock 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27418349/

相关文章:

java - 学习 Maven : "Unable to parse configuration" for jar plugin

java - Hibernate jar 兼容性问题

java - Spring Boot 外部属性不适用于内部带有 Spring Batch 的 Boot 2.0.0.RELEASE

groovy - 如何让代码在 "know"处运行,使其在 groovy 的响应上下文中运行?

java - log4j:如何获取最后插入的日志消息?

java - 设置 M2_REPO 类路径

unit-testing - GGTS无法运行grails单元测试:java.lang.NoClassDefFoundError:org/w3c/dom/ElementTraversal

unit-testing - 模拟引发模拟域类的异常

grails - Spock - 近似比较

java - Groovy Spock 与 java 测试类