Подтвердить что ты не робот

Gradle: Как отобразить результаты androidTest в консоли?

Как объясняется в других потоках Gradle, можно настроить для регистрации результатов теста в консоли:

В принципе, это можно настроить с помощью следующей задачи:

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

Когда я смотрю на вывод в консоли, я пропускает результаты индивидуального теста как написанные для модульных тестов. Как настроить тестовое протоколирование для контрольных тестов?

4b9b3361

Ответ 1

Подключен вывод журнала тестов и событий до logcat, так как он запускается на устройстве/эмуляторе. Тестируемые события регистрируются в теге TestRunner.

Я использую следующий script для запуска 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

Вы можете, конечно, настроить команду logcat, чтобы использовать регистратор по вашему выбору, например. цветной регистратор или изменить параметр logcat filterspec, чтобы показать больше событий.

Ответ 2

Простая версия предназначена только для использования:

./gradlew connectedAndroidTest --info

для регистрации в окне терминала/консоли требуется немного, но он показывает все красивое, цветное и отформатированное

как...

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

удача и & получать удовольствие