2 votes

Comment passer le cycle de vie des instances de test de JUnit 5 à "per-class" dans gradle 4.6+ ?

Comme gradle 4.6 supporte JUnit 5 avec la configuration suivante.

test {
    useJUnitPlatform()
}

Il semble que l'ancienne méthode pour modifier le cycle de vie des testinstances ne fonctionne pas.

junitPlatform {
    // ...
    configurationParameter 'junit.jupiter.conditions.deactivate', '*'
    configurationParameters([
        'junit.jupiter.extensions.autodetection.enabled': 'true',
        'junit.jupiter.testinstance.lifecycle.default': 'per_class'
    ])
    // ...
}

https://junit.org/junit5/docs/current/user-guide/#running-tests-build-gradle-config-params

Comment passer le cycle de vie des instances de test de JUnit 5 à "per-class" dans gradle 4.6+ ?

5voto

TheKojuEffect Points 3977

En dehors de l'utilisation de la propriété du système comme décrit dans La réponse de eee , junit-platform.properties peut être utilisé. junit-platform.properties peut être placé dans src/test/resources .

junit-platform.properties

junit.jupiter.testinstance.lifecycle.default = per_class

Voici la réponse de l'équipe JUnit. https://twitter.com/junitteam/status/970014414891094018

Soit vous le définissez en tant que systemProperty dans la tâche, soit vous le définissez dans l'onglet junit-platform.properties. Ce dernier est le mécanisme le plus robuste plus robuste puisqu'il sera également appliqué dans l'IDE.

4voto

eee Points 1918

Vous pouvez le faire avec une propriété du système :

test {

    useJUnitPlatform {
        // ...
        systemProperty 'junit.jupiter.testinstance.lifecycle.default', 'per_class'
        // ...
    }

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X