Gradle:如何在控制台中显示androidTest结果?

JJD*_*JJD 24 android integration-testing gradle android-testing

如其他线程中所述,可以将Gradle配置为将测试结果记录到控制台中:

基本上,这可以通过以下任务设置:

tasks.withType(Test) {
    testLogging {
       // Custom configuration
    }
}
Run Code Online (Sandbox Code Playgroud)

这适用于单元测试,看起来有点像这样:

...
:app:assembleDebugUnitTest
:app:testDebugUnitTest
:app:processDebugResources

com.example.StringsTest > formatValue PASSED
com.example.StringsTest > formatValueWithDecimals FAILED

1 test completed, 1 failed
Run Code Online (Sandbox Code Playgroud)

此外,单元测试我也使用以下命令运行集成测试:

$ ./gradlew connectedAndroidTest
Run Code Online (Sandbox Code Playgroud)

当我查看控制台中的输出时,我错过了为单元测试编写的单个测试结果.如何为仪器测试配置测试日志记录?

hid*_*dro 11

连接测试日志输出和事件logcat,因为它在设备/模拟器上运行.测试事件记录在TestRunner标记下.

我使用以下脚本adb logcat在后台启动,它TestRunner在执行测试时记录事件,然后终止logcat进程.

adb logcat *:S TestRunner:V & LOGCAT_PID=$! ; \
./gradlew :app:cAT ; \
if [ -n "$LOGCAT_PID" ] ; then kill $LOGCAT_PID; fi
Run Code Online (Sandbox Code Playgroud)

产生这样的东西:

[1] 90439
--------- beginning of system
--------- beginning of main
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
...
:app:packageDebugAndroidTest UP-TO-DATE
:app:assembleDebugAndroidTest UP-TO-DATE
> Building 96% > :app:connectedDebugAndroidTest06-13 09:25:04.259  5460  5474 I TestRunner: run started: 23 tests
06-13 09:25:04.267  5460  5474 I TestRunner: started: testHomeClick(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:06.899  5460  5474 I TestRunner: finished: testHomeClick(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:06.903  5460  5474 I TestRunner: started: testRenderNoContent(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:08.128  5460  5474 I TestRunner: finished: testRenderNoContent(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:08.130  5460  5474 I TestRunner: started: testStateRestoration(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:09.547  5460  5474 I TestRunner: finished: testStateRestoration(io.github.hidroh.tldroid.CommandActivityTest)
...
06-13 09:25:35.283  5460  5474 I TestRunner: run finished: 23 tests, 0 failed, 0 ignored
:app:connectedDebugAndroidTest
:app:createDebugAndroidTestCoverageReport
:app:connectedAndroidTest

BUILD SUCCESSFUL

Total time: 1 mins 7.485 secs
[1]+  Terminated: 15          adb logcat *:S TestRunner:V
Run Code Online (Sandbox Code Playgroud)

您当然可以调整logcat命令以使用您选择的记录器,例如颜色记录器,或更改logcat filterspec以显示更多事件.

  • 完美运作!尽管它不是“基于 gradle 的方法” (2认同)

cV2*_*cV2 6

简单版本只需使用:

\n\n
\n

./gradlewconnectedAndroidTest--info

\n
\n\n

将其记录到终端/控制台窗口需要一点时间,但它显示了所有漂亮的、彩色的和格式化的内容

\n\n

像\xe2\x80\xa6

\n\n
\xe2\x80\xa6ShowsIntroduction[SM-G950F - 7.0] SUCCESS \n\xe2\x80\xa6BackButtonReturnsToOnboardingScreen[SM-G950F - 7.0] SKIPPED\n
Run Code Online (Sandbox Code Playgroud)\n\n

祝你好运&&玩得开心

\n


归档时间:

查看次数:

2167 次

最近记录:

7 年,10 月 前