85 votes

Différence entre les tâches de test et de vérification dans Gradle

Mon build.gradle est le suivant :

group 'groupName'
version 'version'

apply plugin: 'java'
apply plugin: 'idea'

sourceCompatibility = 1.8

repositories {
    . . .
}

dependencies {
    . . .
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

Dans Gradle, lorsque l'on fait ./gradlew tasks Je reçois

Verification tasks
------------------
check - Runs all checks.
test - Runs the unit tests.

Quelle est la différence entre ces deux tâches ? La sortie de ./gradlew check est identique à ./gradlew test .

andrewgazelka $ ./gradlew check

> Task :test FAILED

MathTest > testX FAILED
    java.lang.AssertionError at MathTest.java:40

MathTest > testY FAILED
    java.lang.AssertionError at MathTest.java:55

SimulatorTest > testZ FAILED
    java.lang.IllegalArgumentException at SimulatorTest.java:71

30 tests completed, 3 failed

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///Users/andrewgazelka/IdeaProjects/RobotCode2018/build/reports/tests/test/index.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s
3 actionable tasks: 3 executed
andrewgazelka $ ./gradlew test

> Task :test FAILED

MathTest > testX FAILED
    java.lang.AssertionError at MathTest.java:40

MathTest > testY FAILED
    java.lang.AssertionError at MathTest.java:55

SimulatorTest > testZ FAILED
    java.lang.IllegalArgumentException at SimulatorTest.java:71

30 tests completed, 3 failed

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///Users/andrewgazelka/IdeaProjects/RobotCode2018/build/reports/tests/test/index.html

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
3 actionable tasks: 1 executed, 2 up-to-date

D'après ce que j'ai compris, ./gradle test ./gradle check . Est-ce exact ?

125voto

UnlikePluto Points 1253

Le logiciel Gradle check dépend de la tâche test tâche qui signifie test est exécuté avant que check est exécuté. Les la documentation indique que le contrôle effectue toutes les tâches de vérification dans le cadre du projet, y compris test ainsi que les tâches que les plugins ajoutent au projet :

enter image description here

Si, par exemple, vous ajoutez l'élément checkstyle à votre projet, vous pouvez soit exécuter ses tâches checkstyleMain y checkstyleTest individuellement ou effectuer une vérification complète du projet à l'aide de check . Dans ce cas, les tâches test , checkstyleMain y checkstyleTest serait exécutée.
Considérant que test se contente toujours d'exécuter vos tests unitaires.

44 votes

On peut ajouter que test est une tâche qui fait réellement quelque chose, tandis que check est une tâche dite de cycle de vie, qui ne fait que regrouper d'autres tâches. La tâche de cycle de vie la plus courante est build .

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