(Gradle 3.2.1)我运行了一些java测试,这些测试将输出记录在Stderr/Stdout中。如果我启动
gradle test --info
但在这种情况下,第三方库中的许多不需要的输出也存在。
文档建议使用logging.caputureStandardError / logging.caputureStandardError (loglevel)
,但似乎没有任何效果。
tasks.withType(Test) {
logging.captureStandardOutput LogLevel.QUIET
logging.captureStandardError LogLevel.QUIET
}
然后,如果运行gradle test
,则在控制台中输出不是STDERR/STDOUT。
我怎样才能只从控制台中的测试类中得到输出呢?
4条答案
按热度按时间mrwjdhj31#
将这些行添加到
build.gradle
:注意:
dependsOn cleanTest
不是必需的,但***如果不使用***,则需要在test
任务之前运行cleanTest
或clean
任务。编辑:
更好的方法:
注意:
outputs.upToDateWhen {false}
不是必需的,但***如果未使用***,则需要在test
任务之前运行cleanTest
或clean
任务。有关详细信息和选项,请参阅文档。
g6baxovj2#
对于使用Kotlin/Kotlin DSL for Gradle的用户,您需要将以下内容放入您的
build.gradle.kts
文件:另外,正如在另一个答案中提到的,您将需要运行
gradle clean test
,以便每次打印输出。hsvhsicv3#
扩展@Talha Malik解决方案的上述内容(以及其他帖子中的内容),当处理多模块Android应用时,可以使用以下内容(root
build.gradle
)(note尽管单独的
exceptionFormat
应该足以获得所需的结果,但是可以以相同的方式指定上述events("standardOut" ...)
)c8ib6hqw4#
testLogging
的答案是正确的。对我来说,因为我已经有了一个tasks.test
部分,我想把它放在那里会更容易。