1. ホーム
  2. gradle

Gradleにおけるtestタスクとcheckタスクの違い

2023-08-17 13:32:20

質問

私の 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'
}

Gradleで ./gradlew tasks を受信します。

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

この2つのタスクの違いは何でしょうか?の出力は ./gradlew check とは同じです。 ./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

私が理解したところでは ./gradle test./gradle check . これで良いのでしょうか?

どのように解決するのですか?

Gradleの check タスクは test タスクに依存していることを意味します。 test が実行される前に check が実行される前に実行されます。このとき ドキュメント には、check はプロジェクト内のすべての検証タスクを実行すると書かれています。 test を含むプロジェクト内のすべての検証タスクと、 プラグインがプロジェクトに追加するタスクを実行します。

例えば チェックスタイル プラグインをプロジェクトに追加した場合、そのタスクを実行することができます。 checkstyleMaincheckstyleTest を個別に使用するか、または、プロジェクト全体の検証を check . この場合、タスク test , checkstyleMaincheckstyleTest が実行されることになる。

一方 test は常にユニットテストを実行するだけです。