web-dev-qa-db-ja.com

Gradleを使用したテスト中のログ

テスト中、Gradleはstdout/stderrをproject_dir/build/reports/tests/index.htmlにリダイレクトするようです。このリダイレクトを回避し、代わりに物事をコンソールに出力する方法はありますか?

追加情報:

  • Scala 2.9.1プロジェクトです。
  • ロギングに slf4s を使用しています。
62
missingfaktor
apply plugin : 'Java'

test {
    testLogging.showStandardStreams = true
}

http://gradle.org/docs/current/dsl/org.gradle.api.tasks.testing.Test.html

これには、現在のgradleバージョンが必要です。 ScalaテストはJavaテストタスクの下で実行されると仮定しています。

77
roby

私も使用しています(testLogging.exceptionFormat = 'full'):

test {
    testLogging.showStandardStreams = true
    testLogging.exceptionFormat = 'full'
}

スタックトレースからより多くを見るのは良いことです

17
To Kra

Android Gradle Files

Android gradle file(if apply plugin: 'com.Android.application'はbuild.gradleファイルの先頭にあります)

次に、これをbuild.gradleに貼り付けます

// Test Logging
tasks.withType(Test) {
    testLogging {
        events "standardOut", "started", "passed", "skipped", "failed"
    }
}

通常のGradleファイルの場合

これをbuild.gradleに貼り付けます

// Test Logging
test {
    testLogging {
        showStandardStreams = true
    }
}
16
joshuakcockrell

As@ roby回答:

次のコードをbuild.gradleに追加します

apply plugin : 'Java'

test {
    testLogging.showStandardStreams = true
}

Important !

cleanコマンドを追加してgradleテストまたはビルドを実行する必要があります。

./gradlew clean test

or

./gradlew clean build

それがうまくいくことを願っています。

15
nmfzone
test {
    testLogging.showStandardStreams = true
}

そして

test {
    testLogging {
        showStandardStreams = true
    }
}

動作します。

8
zhouji

追加するだけです:

showStandardStreams = true

略記

events = ["standard_out", "standard_error"]

両方のエントリを次のように混在させる場合は、このことに留意することが重要です。

test {
    testLogging {
        showStandardStreams = true
        events = ["passed", "failed", "skipped"]
    }
}

結果はstdoutになりますが、逆の順序は:

test {
    testLogging {
        events = ["passed", "failed", "skipped"]
        showStandardStreams = true
    }
}

は、stdoutエントリをリストに追加するため、stdoutは機能します

詳細については、 ソース を参照してください。

5
Johnny Baloney