2016-04-28 93 views
21

正如在其他線程解釋搖籃可經配置以記錄測試結果到控制檯:Gradle:如何在控制檯中顯示androidTest結果?

基本上,這可以通過以下任務設置:

tasks.withType(Test) { 
    testLogging { 
     // Custom configuration 
    } 
} 

這工作正常進行單元測試,有些看起來是這樣的:

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

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

1 test completed, 1 failed 

此外,單元測試,我還使用下面的命令運行集成測試

$ ./gradlew connectedAndroidTest 

當我看到在輸出在控制檯我錯過了個別測試結果爲寫單元測試。如何配置儀器測試的測試日誌?

+0

這次JJD的運氣怎麼樣? –

+0

還沒有。說實話,我不得不推遲這些測試一段時間。一旦事情「恢復正常」,我會盡快把它拿起來。你試過hidro的方法嗎? – JJD

+0

不,我只是想要一個基於Gradle的方法。我希望像'tasks.withTest'一樣。 –

回答

8

將測試日誌輸出和事件連接到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 

產生這樣的:

[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 

當然你也可以TWEAK的logcat命令來使用你選擇,例如一個記錄器彩色記錄器,或更改logcat filterspec以顯示更多事件。

+0

完美的作品!儘管它不是「基於gradle的方法」 – gorbysbm

2

最簡單的版本,只是使用:

./gradlew connectedAndroidTest --info

它採取littlebit記錄它在終端/控制檯窗口,但它顯示一切美好的事物,有色和格式化

像...

…ShowsIntroduction[SM-G950F - 7.0] SUCCESS 
…BackButtonReturnsToOnboardingScreen[SM-G950F - 7.0] SKIPPED 

祝你好運& &玩得開心