2016-04-28 5 views
21

Wie in anderen Threads können Gradle einzuloggen Testergebnisse in die Konsole konfiguriert werden:Gradle: Wie man androidTest Ergebnisse in der Konsole anzeigt?

Grundsätzlich ist diese Einrichtung durch die folgende Aufgabe sein kann, :

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

Dies funktioniert für Unit-Tests gut und sieht etwas wie folgt aus:

$ ./gradlew connectedAndroidTest 

Als ich am Ausgang aussehen:

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

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

1 test completed, 1 failed 

Außerdem Unit-Tests I Integrationstest mit dem folgenden Befehl ausführen auch in der Konsole bin ich fehlt der Einzeltest Ergebnisse als für Komponententests geschrieben. Wie kann ich die Testprotokollierung für Instrumentierungstests konfigurieren?

+0

Irgendwelche Glück mit diesem JJD? –

+0

Noch nicht. Um ehrlich zu sein, musste ich diese Tests für eine Weile verschieben. Ich werde es abholen, sobald die Dinge wieder "normal" sind. Hast du Hidros Ansatz versucht? – JJD

+0

Nein, ich wollte nur einen Gradle-basierten Ansatz. Ich hatte gehofft etwas wie "Aufgaben.mit Test". –

Antwort

8

Angeschlossene Tests Protokollausgabe und Ereignisse zu logcat, wie es auf einem Gerät/Emulator ausgeführt wird. Testereignisse werden unter dem Tag TestRunner protokolliert.

Ich benutze das folgende Skript adb logcat im Hintergrund zu starten, die TestRunner Ereignisse protokolliert, wie Tests ausgeführt werden, und töten die logcat Prozess danach.

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

die so etwas wie dies erzeugt:

[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 

Sie können natürlich zwicken logcat Befehl einen Logger Ihrer Wahl zu verwenden, z.B. einen Farblogger, oder ändern Sie logcat filterspec, um mehr Ereignisse anzuzeigen.

+0

Funktioniert perfekt! Auch wenn es sich nicht um einen "Grapple-basierten Ansatz" handelt – gorbysbm

2

Die einfache Version ist nur zu benutzen:

./gradlew connectedAndroidTest --info

es eine littlebit nehmen sie in das Terminal/Konsolenfenster anmelden, aber es zeigt alles schön gefärbt und formatiert

wie ...

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

viel Glück & & viel Spaß