我在Eclipse中有一个基于Gradle的项目,我想使用JUnit 5进行测试。它目前没有任何测试,因此我想添加一个虚拟对象(例如assertEquals(true, true)
)以确保Gradle可以运行测试。
但是,我遇到两个问题:
1)当我要创建JUnit测试用例作为“项目右键单击->新建-> JUnit测试用例”时,它将在/src
目录中创建一个测试用例。参见下图:
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'
}
答案 0 :(得分:1)
您可以使用以下方法:How to create unit tests easily in eclipse(投票最多的答案)
或安装此插件:https://moreunit.github.io/MoreUnit-Eclipse/(并使用Ctrl + J创建测试)