2

我想将我的 Gradle 项目测试从 JUnit 4 转换为 JUnit 5。由于有很多测试,我不想同时转换它们。

我尝试这样配置build.gradle

apply plugin: 'java'

compileTestJava {
    sourceCompatibility = 1.8
    targetCompatibility = 1.8
}

repositories {
    mavenCentral()
}

dependencies {
    testCompile("junit:junit:4.12")
    testCompile 'org.junit.jupiter:junit-jupiter-api:5.0.0-M2'
    testRuntime("org.junit.vintage:junit-vintage-engine:4.12.0-M2")
    testRuntime 'org.junit.jupiter:junit-jupiter-engine:5.0.0-M2'
}

旧测试仍在运行,但 Intellij 无法识别像这样的新 JUnit 5 测试:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class JUnit5Test {
    @Test
    void test() {
        assertTrue(true);
    }
}

我正在使用带有 gradle 2.9 的 Intellij 2016.2

4

2 回答 2

3

Gradle 4.6版开始,不再需要插件

Gradle原生支持Junit5,只需执行以下操作:

dependencies {       
    testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion"
    testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion"

    testRuntimeOnly "org.junit.vintage:junit-vintage-engine:$junitVersion"
    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion"
}

test {
    useJUnitPlatform {
        includeEngines 'junit-jupiter', 'junit-vintage'
    }
}
于 2018-03-05T17:08:15.803 回答
0

目前 Intellij IDEA 支持 JUnit5。

看看关于将 JUnit5 与 IDEA 集成的好文章: 在 IntelliJ IDEA 中使用 JUnit 5

于 2017-01-06T18:52:19.263 回答