web-dev-qa-db-fra.com

Différence entre test et contrôle

Ma build.gradle est comme suit:

group 'groupName'
version 'version'

apply plugin: 'Java'
apply plugin: 'idea'

sourceCompatibility = 1.8

repositories {
    . . .
}

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

En classe quand vous faites ./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 :compileJava
warning: Element `SHIFT_UP_THRESHOLD` is set to `UNDEFINED`. This may be ok for this variable.
warning: Element `SHIFT_DOWN_THRESHOLD` is set to `UNDEFINED`. This may be ok for this variable.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 warnings

> 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 correct?

29
Andrew Gazelka

La tâche Gradle check dépend de la tâche test, ce qui signifie que le test est exécuté avant l'exécution de la vérification. Le documentation indique que check effectue toutes les tâches de vérification du projet, y compris les plug-ins de test et de tâches, qui s'ajoutent au projet:

enter image description here

Si vous ajoutez par exemple le plugin checkstyle à votre projet, vous pouvez exécuter ses tâches checkstyleMain et checkstyleTest individuellement ou exécuter une vérification complète du projet à l'aide de check. Dans ce cas, les tâches test, checkstyleMain et checkstyleTest seraient exécutées.
Alors que test exécute toujours uniquement vos tests unitaires.

42
UnlikePluto