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

后端 未结 2 1054
[愿得一人]
[愿得一人] 2020-12-13 08:31

(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

相关标签:
2条回答
  • 2020-12-13 09:07

    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.

    0 讨论(0)
  • 2020-12-13 09:17

    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.

    0 讨论(0)
提交回复
热议问题