【问题标题】:Maven java junit test won't start with groovy spock testsMaven java junit 测试不会从 groovy spock 测试开始
【发布时间】:2021-06-11 14:11:10
【问题描述】:

我在使用 java 测试运行 groovy 测试时遇到问题。我在目录 /src/test/java 中有 java 测试,在目录 /src/test/groovy 中有 groovy 测试,并且像这样的 maven 插件配置:

    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M4</version>
            <configuration>
                <useFile>false</useFile>
                <includes>
                    <include>**/*Test.java</include>
                    <include>**/*Spec.java</include>
                </includes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.gmavenplus</groupId>
            <artifactId>gmavenplus-plugin</artifactId>
            <version>1.12.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>compileTests</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

但是有了这个配置,只有 groovy spock 测试才能在没有 java junit 测试的情况下工作。 我究竟做错了什么? 在此先感谢您的帮助

【问题讨论】:

  • 我根据您的示例更改了我的代码库,并且仍然像以前一样工作
  • 您最好创建一个MCVE 并分享它,否则我们无法真正帮助您。 FWIW 添加 jupiter 依赖项后,我可以在示例项目中毫无问题地执行 java jupiter 测试。
  • 我同意 MCVE 是要走的路。您也没有提及您的 JUnit 测试是 JUnit 4 还是 5。这在 Maven 方面有所不同(JUnit 4 表示老式引擎,请参阅 this answer)。
  • 你看过我的Spock 1Spock 2 的例子吗?

标签: java maven groovy junit spock


【解决方案1】:

我遇到了完全相同的问题并添加了对 junit-vintage-engine 的依赖,解决了它,例如:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M4</version>
        <configuration>
            <useFile>false</useFile>
            <includes>
                <include>**/*Test.java</include>
                <include>**/*Spec.java</include>
            </includes>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
                <version>5.8.1</version>
            </dependency>
        </dependencies>
    </plugin>
    <plugin>
        <groupId>org.codehaus.gmavenplus</groupId>
        <artifactId>gmavenplus-plugin</artifactId>
        <version>1.12.1</version>
        <executions>
            <execution>
                <goals>
                    <goal>compile</goal>
                    <goal>compileTests</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
</plugins>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 2014-09-28
    • 2019-12-01
    • 1970-01-01
    • 2022-01-14
    相关资源
    最近更新 更多