当类只包含 JUnit4 注释时,使 Eclipse 默认为 JUnit4 而不是 JUnit5

Luk*_*uke 7 java eclipse groovy junit4 junit5

最近的 groovy 升级带来了 JUnit5,导致 Eclipse 想要在 JUnit5 下运行每个测试。我可以通过运行配置并告诉 Eclipse 使用 JUnit4 来解决这个问题,但这会变得乏味。

是否可以告诉 Eclipse 始终将 JUnit4 用于特定项目,包括新测试?

nin*_*our 1

您只能指定配置​​文件并仅在 Eclipse 中激活它。

示例(假设您的问题是由于依赖而引起的groovy-all):

    <profiles>
        <profile>
            <id>eclipse-groovy-no-junit5</id>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>${groovy.groupId}</groupId>
                        <artifactId>groovy-all</artifactId>
                        <version>${groovy.version}</version>
                        <type>pom</type>
                        <exclusions>
                            <exclusion>
                                <groupId>${groovy.groupId}</groupId>
                                <artifactId>groovy-test-junit5</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                </dependencies>
            </dependencyManagement>
        </profile>
    </profiles>
Run Code Online (Sandbox Code Playgroud)

然后去

Project -> Properties -> Maven -> Active Maven Profiles

并指定配置文件名称eclipse-groovy-no-junit5

备注:groovy.groupId被设置为(它是一个变量,因为它将在 4.x 中org.codehaus.groovy被替换)并被设置为.org.apache.groovygroovy.version3.0.8

如果你想更详细一点,你可以添加...

    <activation>
        <activeByDefault>false</activeByDefault>
    </activation>
Run Code Online (Sandbox Code Playgroud)

...但无论如何这是默认的。