首页 > 解决方案 > 当类仅包含 JUnit4 注释时,使 Eclipse 默认为 JUnit4 而不是 JUnit5

问题描述

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

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

标签: javaeclipsegroovyjunit4junit5

解决方案


您只能在 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>

然后去

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

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

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

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

    <activation>
        <activeByDefault>false</activeByDefault>
    </activation>

...但无论如何它都是默认值。


推荐阅读