今天的只是比较少,但希望会有用。
我个人经常使用命令行手动的进行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