Android не может запустить модульный тест

Я пытаюсь написать модульный тест для Android на Mac. Я могу запустить его через Eclipse, но мне нужно все автоматизировать.

Чтобы создать проект, который я запускаю

~/workspace$ android create test-project -m ../ -p ROAMpayX/tests -n ROAMPayTest

Я пытаюсь запустить следующую команду

adb shell am instrument -w com.roamdata.roampayx/android.test.InstrumentationTestRunner

и продолжайте получать следующую ошибку (которую мне дал мой AndroidManifest.xml в моей тестовой папке)

INSTRUMENTATION_STATUS: id=ActivityManagerService INSTRUMENTATION_STATUS: Error=Невозможно найти информацию об инструментарии для: ComponentInfo{com.roamdata.roampayx/android.test.InstrumentationTestRunner} android.util.AndroidException: INSTRUMENTATION_FAILED: com.roamdata.roampayx/android.test.InstrumentationTestRunner INSTRUMENTATION_STATUS_STATUS : -1 в com.android.commands.am.Am.runInstrument(Am.java:616) в com.android.commands.am.Am.run(Am.java:118) в com.android.commands.am. Am.main(Am.java:81) в com.android.internal.os.RuntimeInit.nativeFinishInit(собственный метод) в com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235) в dalvik.system. NativeStart.main (собственный метод)

Ясно, что это какая-то проблема с путями. Есть ли что-то, чего мне не хватает? Я попытался запустить команду как из папки основного проекта, так и из папки тестового проекта.

Есть идеи?


person Frank Sposaro    schedule 03.07.2012    source источник
comment
Обратите внимание, что проблема оказалась в том, как мои пакеты были подклассифицированы. Я дал ему корневой пакет, но тестируемая активность была еще на один шаг глубже, и автоматическое создание не учитывало этого.   -  person Frank Sposaro    schedule 03.07.2012


Ответы (2)


Не удалось найти информацию об инструментах для: ComponentInfo{com.roamdata.roampayx/android.test.InstrumentationTestRunner}

Пишет, что не может найти android.test.InstrumentationTestRunner внутри com.roamdata.roampayx

и почему бы не использовать ant http://developer.android.com/tools/testing/testing_otheride.html для тестового запуска? Это конкретная цель?

Если вы используете ant, вы можете почерпнуть некоторые идеи или задачи ant на https://github.com/inazaruk/robomorphine-testrunner/wiki , но пока это может быть накладно.

person logcat    schedule 03.07.2012
comment
Конечно. Я полагаю, что могу использовать ant, я пока не привязан к какому-либо конкретному инструменту командной строки. Я прочитал эту страницу (несколько раз, потому что был там раньше). Я использовал пример, который они дали, но, похоже, они не приводят пример того, как использовать ant. Вики, которую вы прислали, показалась мне немного излишней. Любые дальнейшие предложения? - person Frank Sposaro; 03.07.2012
comment
да, вики избыточна, официально вы обновили свой проект с помощью инструмента Android и вызвали тесты запуска муравьев developer.android.com/tools/testing/ - person logcat; 03.07.2012
comment
Ближе. Я выполнил эти шаги, и теперь я получаю, что целевые тесты запуска не существуют в проекте. Собираюсь проголосовать за вашу помощь до сих пор. - person Frank Sposaro; 03.07.2012
comment
На самом деле не знаю, что произошло, но я играл с муравьем, и эта проблема, казалось, решилась сама собой. Обратите внимание, что я использую все, что началось в вопросе. Обязательно дважды проверяйте имена пакетов в своих тестах. Также обратите внимание, что в настоящее время существует ошибка при выполнении тестов ant code.google. .com/p/android/issues/detail?id=32598 - person Frank Sposaro; 03.07.2012

Вы построили и установили тестовый проект перед запуском команды adb? Вы можете легко сделать это с помощью ant с помощью следующей команды:

ant debug install test
person godidier    schedule 03.07.2013