GitHub Actions запускают тесты эспрессо - PullRequest
1 голос
/ 01 апреля 2020

В настоящее время я пытаюсь заставить мои Инструментальные тесты запускаться с помощью GitHub Actions. У меня хорошо работают модульные тесты, но я не могу заставить их работать. В настоящее время я пытаюсь:

    - name: Run Instrumentation Tests (reactivecircus)
    uses: reactivecircus/android-emulator-runner@v2.6.1
    with:
      api-level: 23
      target: default
      arch: x86
      profile: Nexus 6
      script: ./gradlew connectedCheck --stacktrace

И я получаю результат:

com.balsdon.ratesapp.behaviour.RateListActivityEntryBehaviourInstrumentedTest > recyclerViewClickOnItemChangesMain[test(AVD) - 6.0] FAILED 
    android.content.res.Resources$NotFoundException: Resource ID #0x7f0700d3
    at android.content.res.Resources.getValue(Resources.java:1351)
Tests on test(AVD) - 6.0 failed: Instrumentation run failed due to 'android.content.res.Resources$NotFoundException'

> Task :app:connectedOfflinemockDebugAndroidTest FAILED
> Task :app:processOnlineecbDebugAndroidTestResources
> Task :app:processProductionDebugAndroidTestResources

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:connectedOfflinemockDebugAndroidTest'.
> There were failing tests. See the report at: file:///Users/runner/runners/2.165.2/work/currency_list_app/currency_list_app/app/build/reports/androidTests/connected/flavors/OFFLINEMOCK/index.html

и когда я использую:

    - uses: malinskiy/action-android/emulator-run-cmd@release/0.0.5
    with:
      cmd: ./gradlew integrationTest
      api: 23
      tag: default
      abi: x86

я получаю

/Users/runner/android-sdk/platform-tools/adb -s emulator-5554 shell getprop sys.boot_completed
error: device 'emulator-5554' not found
The process '/Users/runner/android-sdk/platform-tools/adb' failed with exit code 1

Если вы хотите увидеть все мои попытки, вы можете увидеть все коммиты в моем запросе на получение

1 Ответ

1 голос
/ 05 апреля 2020

Ваша версия эмулятора, которую вы запускаете локально, скорее всего, она новее, чем API 23 android версия. В сценарии действий github вы запускаете эмулятор, используя API 23:

    uses: reactivecircus/android-emulator-runner@v2
    with:
      api-level: 23
      target: default
      arch: x86
      profile: Nexus 6
      script: ./gradlew connectedCheck --stacktrace

, а внутри вашего проекта есть app/src/main/res/drawable-v24 внутренние ресурсы, поэтому он не будет доступен для эмуляторов с версией < 24 API. Вам нужно либо изменить этот каталог на drawable-v23, либо переместить ресурсы на другой drawable, к которому могут обращаться более старые версии.

Даже если вы измените каталог для рисования на drawable-v23 Espresso может иметь проблемы Вам придется либо выбрать эту версию, либо использовать более новую версию API для своего эмулятора действий Github, возможно, такую ​​же, как у вас в среде разработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...