Разница в уровне разницы между тестом и проверкой
Мой build.gradle
выглядит следующим образом:
group 'groupName'
version 'version'
apply plugin: 'java'
apply plugin: 'idea'
sourceCompatibility = 1.8
repositories {
. . .
}
dependencies {
. . .
testCompile group: 'junit', name: 'junit', version: '4.12'
}
В классе при выполнении ./gradlew tasks
я получаю
Verification tasks
------------------
check - Runs all checks.
test - Runs the unit tests.
В чем разница между этими двумя задачами? ./gradlew check
идентичен ./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
Из того, что я понимаю, ./gradle test
⊆ ./gradle check
. Это правильно?
Ответы
Ответ 1
Задача check
Gradle зависит от задачи test
что означает, что тест выполняется перед выполнением проверки. В документации говорится, что проверка выполняет все задачи проверки в проекте, включая тестовые, а также плагины задач, добавляемые в проект:
Если вы, например, добавили плагин checkstyle в свой проект, вы можете либо запустить его задачи checkstyleMain
и checkstyleTest
отдельности, либо выполнить полную проверку проекта с помощью check
. В этом случае checkstyleMain
test
задач, checkstyleMain
и checkstyleTest
.
Принимая во внимание, что test
всегда выполняет только ваши модульные тесты.