Eclipse在错误的目录中创建JUnit测试

时间:2019-12-16 01:48:20

标签: java eclipse gradle junit

我在Eclipse中有一个基于Gradle的项目,我想使用JUnit 5进行测试。它目前没有任何测试,因此我想添加一个虚拟对象(例如assertEquals(true, true))以确保Gradle可以运行测试。

但是,我遇到两个问题:

1)当我要创建JUnit测试用例作为“项目右键单击->新建-> JUnit测试用例”时,它将在/src目录中创建一个测试用例。参见下图:

enter image description here

2)当我尝试构建Gradle配置时,得到以下输出:

> Task :compileJava FAILED
/home/.../src/main/java/TestFoo.java:1: error: package org.junit does not exist
import static org.junit.Assert.*;
                       ^

据我了解,测试用例无法解析软件包org.junit。同时,Eclipse不允许我在正确的/test目录中创建正确的JUnit测试用例。

您认为这里有什么可能的解决方案?我试图找到一种方法来覆盖默认的测试目录,但是找不到任何方法可以做到这一点。

P.S。当我尝试this时,这重复,并且已声明所有依赖项。以下代码段是build.gradle的内容(很抱歉,出于机密原因,我无法显示其所有内容):


...

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {

    ...

    testCompile group: 'junit', name: 'junit', version: '4.12'
    // Reference: https://www.baeldung.com/junit-5-gradle
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1'
}

run {
    ...
}

test {
    useJUnitPlatform {
        includeTags 'fast'
        excludeTags 'slow'
    }
}

shadowJar {
    mergeServiceFiles()
    manifest {
        attributes 'Implementation-Title': rootProject.name
        attributes 'Implementation-Version': rootProject.version
        attributes 'Implementation-Vendor-Id': rootProject.group
        attributes 'Created-By': 'Gradle ' + gradle.gradleVersion
        attributes 'Main-Class': mainClassName
    }
    archiveName rootProject.name + '-' + rootProject.version + '.jar'
}

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法:How to create unit tests easily in eclipse(投票最多的答案)

或安装此插件:https://moreunit.github.io/MoreUnit-Eclipse/(并使用Ctrl + J创建测试)