Gradle小知识#4:把单元测试的日志打印到控制台

2467次阅读  |  发布于5年以前

Gradle小知识#4:把单元测试的日志打印到控制台

今天的只是比较少,但希望会有用。

我个人经常使用命令行手动的进行Android的单元测试(./gradlew test),个人习惯而已。但是,默认情况下Gradle只是安静的运行着单元测试的各个步骤。当某个单元测试失败了测试任务也就失败了:

:app:processDebugJavaRes UP-TO-DATE
:app:processDebugUnitTestJavaRes UP-TO-DATE
:app:compileDebugUnitTestSources
:app:mockableAndroidJar UP-TO-DATE
:app:assembleDebugUnitTest
:app:testDebugUnitTest

BUILD SUCCESSFUL
Total time: 4.725 secs

我觉得如果让Gradle告诉我们什么测试正在运行,那一定很有用。向下面这样:

:app:testDebugUnitTest
com.trickyandroid.testproj.ExampleUnitTest > exampleTest1 PASSED
com.trickyandroid.testproj.ExampleUnitTest > exampleTest2 PASSED
com.trickyandroid.testproj.ExampleUnitTest > exampleTest3 PASSED

BUILD SUCCESSFUL
Total time: 4.107 secs

你只需要把下面的这段脚本添加到你的build.gradle的顶级位置,而不是android闭包里:

tasks.matching {it instanceof Test}.all {
    testLogging.events = ["failed", "passed", "skipped"]
}

它的作用是:配置所有的单元测试的任务打印信息到控制台,不管是测试失败/测试通过/跳过测试都会打印响应的信息。

更多关于测试任务的配置请参见官网

Copyright© 2013-2019

京ICP备2023019179号-2