Обновление с JUnit 4 до JUnit 5 в Intellij с Gradle

Я хочу преобразовать свой тестовый проект 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);
    }
}

Я использую Intellij 2016.2 с Gradle 2.9

2 ответа

Начиная с версии 4.6 для Gradle, больше нет необходимости в плагинах.

Gradle изначально поддерживает Junit5:

dependencies {
    test.useJUnitPlatform()

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

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

В настоящее время Intellij IDEA поддерживает JUnit5.

Посмотрите на хорошую статью об интеграции JUnit5 с IDEA: Использование JUnit 5 в IntelliJ IDEA

Другие вопросы по тегам