web-dev-qa-db-fra.com

Junit 5 grade plugin introuvable

Essayez d'utiliser Junit 5 avec Gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0'
    }
}

apply plugin: 'Java-library'
apply plugin: 'org.junit.platform.gradle.plugin'
...

Erreur:

Plugin with id 'org.junit.platform.gradle.plugin' not found.

Gradle version 4.0. Qu'est-ce qui ne va pas?

7
Sunnyday

Vous devez également inclure une section repositories à l'extérieur du bloc buildscript:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0'
    }
}

apply plugin: 'Java-library'
apply plugin: 'org.junit.platform.gradle.plugin'

repositories {
    mavenCentral()
}
5
Sam Brannen

Depuis la version 4.6 pour Gradle , il n'y a plus besoin de plugins

Gradle supports Junit5 nativement, il suffit de faire:

dependencies {       
    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"
}

test {
    useJUnitPlatform {
        includeEngines 'junit-jupiter', 'junit-vintage'
    }
}
2
LazerBanana

Placez-vous le code ci-dessus dans un fichier séparé que vous incluez ensuite dans le build.gradle principal via apply from: ...? Si c'est le cas, vous rencontrez peut-être un bogue dans Gradle où un identifiant de plug-in ne peut pas être utilisé dans des scripts externes. Au lieu de cela, vous devez spécifier le nom de classe qualifié complet.

Plus d'informations:

https://github.com/gradle/gradle/issues/1262

https://discuss.gradle.org/t/how-do-i-include-buildscript-block-from-external-gradle-script/7016

1
Alex Sartan