Запускать тестовые модули Android из командной строки - PullRequest
0 голосов
/ 22 октября 2018

Как мне запустить локальные юнит-тесты Android из командной строки без Gradle?

На сайте документации Android есть статья , в которой говорится, что это возможно, но я не могу ее получить.на работу:

~/src/ourproj $ adb shell am instrument -w com.company.ourproj.test/android.test.InstrumentationTestRunner
android.util.AndroidException: INSTRUMENTATION_FAILED: com.company.ourproj.test/android.test.InstrumentationTestRunner
    at com.android.commands.am.Instrument.run(Instrument.java:486)
    at com.android.commands.am.Am.runInstrument(Am.java:194)
    at com.android.commands.am.Am.onRun(Am.java:80)
    at com.android.internal.os.BaseCommand.run(BaseCommand.java:54)
    at com.android.commands.am.Am.main(Am.java:50)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:340)
INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.company.ourproj.test/android.test.InstrumentationTestRunner}
INSTRUMENTATION_STATUS: id=ActivityManagerService
INSTRUMENTATION_STATUS_CODE: -1

Я видел другой вопрос по этому поводу , но это не помогло.

Почему?Мы хотим запустить наши тесты на круговой CI и продолжаем сталкиваться с проблемами аварийной памяти .Gradle использует много памяти - экземпляры CI имеют 4 ГБ, которых должно быть достаточно, поэтому статья выглядела многообещающе.

В модульных тестах нет файла AndroidManifest.xml - есть только один верхний уровень и одиндля тестов пользовательского интерфейса.Gradle, кажется, пишет это на лету.Возможно, имена пакетов неверны выше (обратите внимание, что я изменил имя, чтобы защитить виновных), но я не могу понять, как определить, какими они должны быть.

...