Gradle: How to get output from test STDERR/STDOUT into console?

TestingGradleStdoutStderr

Testing Problem Overview


(Gradle 3.2.1) I run some java tests, which logs output in Stderr/Stdout. I can see that output, if I start

gradle test --info

but in that case, much of unwanted output from 3-rd party libraries is there too.

Documentation suggests using logging.caputureStandardError / logging.caputureStandardError (loglevel), but it doesn't seem to have any effect.

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

Then if running gradle test, not STDERR/STDOUT is output in console.

How can I get just the output from the tests classes in console?

Testing Solutions


Solution 1 - Testing

Add these lines to build.gradle :

apply plugin: 'java'

test {
    dependsOn cleanTest
    testLogging.showStandardStreams = true
}

Notice: dependsOn cleanTest is not necessary but if not used, you need to run cleanTest or clean task before test task.


Edit:

A better approach:

apply plugin: 'java'

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

Notice: outputs.upToDateWhen {false} is not necessary but if not used, you need to run cleanTest or clean task before test task.

For more info and options see the documentation.

Solution 2 - Testing

For those using Kotlin/Kotlin DSL for Gradle, you need to put the following in your build.gradle.kts file:

tasks.withType<Test> {
    this.testLogging {
        this.showStandardStreams = true
    }
}

Also as mentioned in another answer, you will need to run gradle clean test for the output to print every time.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlexei VinogradovView Question on Stackoverflow
Solution 1 - TestingOmidView Answer on Stackoverflow
Solution 2 - TestingTalha MalikView Answer on Stackoverflow