Gradle: как получить вывод из теста STDERR/STDOUT в консоль?

(Gradle 3.2.1) я запускаю некоторые тесты java, которые регистрируют вывод в Stderr/Stdout. Я вижу этот вывод, если начну

gradle test --info

но в этом случае большая часть нежелательного вывода из 3-х партийных библиотек тоже есть.

документация предлагает использовать logging.caputureStandardError / logging.caputureStandardError (loglevel), но это, похоже, не имеет никакого эффекта.

tasks.withType(Test) {
   logging.captureStandardOutput LogLevel.QUIET
   logging.captureStandardError LogLevel.QUIET
}

тогда, если работает gradle test, не STDERR/STDOUT выводится в консоль.

как я могу получить только вывод из тестов занятия в консоли?

1 ответов


добавьте эти строки в build.gradle :

apply plugin: 'java'

test {
    dependsOn cleanTest
    testLogging.showStandardStreams = true
}

Edit:

лучше:

apply plugin: 'java'

test {
    testLogging {
        outputs.upToDateWhen {false}
        showStandardStreams = true
    }
}

обратите внимание: outputs.upToDateWhen {false} не обязательно, но если не используется, выходы отображаются только в том случае, если они не актуальны, и в этом случае вам нужно запустить cleanTest или clean задач перед test задач.

для получения дополнительной информации и опций см. документация.