测试和检查之间的差异

时间:2018-04-30 16:35:43

标签: gradle build.gradle gradlew

我的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 个答案:

答案 0 :(得分:34)

Gradle check任务取决于test任务,这意味着在检查运行之前执行测试。检查执行项目中所有验证任务的documentation统计信息,包括测试和任务插件添加到项目中:

enter image description here

例如,如果您将checkstyle插件添加到项目中,则可以单独运行其任务checkstyleMaincheckstyleTest,也可以使用check执行完整的项目验证。在这种情况下,将运行任务testcheckstyleMaincheckstyleTesttest总是只执行单元测试。