(Gradle 3.2.1)我运行了一些java测试,它们在Stderr / Stdout中记录输出。如果我开始,我可以看到输出
gradle test --info
但在这种情况下,第3方文库的大量不需要的输出也是如此。
Documentation建议使用logging.caputureStandardError / logging.caputureStandardError (loglevel)
,但似乎没有任何效果。
tasks.withType(Test) {
logging.captureStandardOutput LogLevel.QUIET
logging.captureStandardError LogLevel.QUIET
}
然后,如果运行gradle test
,则不会在控制台中输出STDERR / STDOUT。
如何在控制台中获取测试类的输出?
答案 0 :(得分:39)
将这些行添加到build.gradle
:
apply plugin: 'java'
test {
dependsOn cleanTest
testLogging.showStandardStreams = true
}
更好的方法:
apply plugin: 'java'
test {
testLogging {
outputs.upToDateWhen {false}
showStandardStreams = true
}
}
注意:outputs.upToDateWhen {false}
不是必需的,但 如果不使用 ,则需要在cleanTest
之前运行clean
或test
任务{1}}任务。
有关详细信息和选项,请参阅the documentation。
答案 1 :(得分:1)
对于将kotlin / kotlin dsl用于gradle的用户,您需要将以下内容放入build.grade.kts文件中:
tasks.withType<Test> {
this.testLogging {
this.showStandardStreams = true
}
}
也如另一个答案中所述,您将需要运行“ gradle clean test”,以便每次打印输出。