Android Eclipse Plugin: контрольно-измерительный тест Runner не указан

Я получаю эту ошибку при попытке запуска модульных тестов из Eclipse с Android Project. Список контрольных тестовых инструментов пуст в настройках Android.

[2009-06-17 23:57:51 - MyApp] ОШИБКА: В приложении не указывается android.test.InstrumentationTestRunner или не объявляет use-library android.test.runner

Также было досадно, что, поскольку я пытался запустить unit test один раз, это то, что я всегда хочу делать.

Ответ 1

В Run Configuration у вас может быть Android JUnit Test, если в нем есть какие-либо новые записи о конфигурации запуска, вы удаляете его, а затем запускаете приложение, которое оно будет запускать.

ПРИМЕЧАНИЕ. Это может быть решением, если вы попытались запустить тестовый пример, прежде чем добавлять правильные строки в манифест, как описано в ответе от Josef. Если вы это сделали, удалите конфигурацию (которая будет жаловаться на то, что в заголовке не указан ни один контрольный тест-контролер), а затем снова запустите ее в качестве теста Android Junit Test, и он создаст правильную конфигурацию, набрав правильные вещи, которые вы добавили в манифест (см. ответы Йозефа для этого).

Ответ 2

Вероятно, вы потеряли узлы uses-library и instrumentation в AndroidManifest.xml:

<manifest ...>
    <application ...>
        <!-- ... -->
        <uses-library android:name="android.test.runner" />
    </application>
    <instrumentation android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="your.package"
        android:label="your tests label" />
</manifest>

Ответ 3

Одна вещь, которую я заметил в этой дискуссии, которая может быть отключена некоторыми людьми, заключается в том, что вам нужно убедиться, что элемент "инструментария" в вашем манифесте является дочерним "явным", а не "приложением". (Примеры здесь правильные, но это легко смешивается.)

http://developer.android.com/guide/topics/manifest/instrumentation-element.html

Если вы поместите свой инструментарий в приложение, он не будет поднят, и ваши варианты в плагине Eclipse ADT для инструментального бегуна могут быть пустыми. (Но ошибка не отображается и не отображается и т.д.)

Ответ 4

Просто сделайте правый щелчок на своем тестовом классе из Eclipse IDE и нажмите "Запустить как". После этого выберите "запустить конфигурацию", которая запустит окно Confiuration Window в eclipse, и вам нужно щелкнуть по переключателю рядом с "Runner Instrumentation" и выбрать сконфигурированный Runer Instrumentation из раскрывающегося списка. Теперь нажмите "Применить", а затем нажмите "Выполнить".     Я думаю, что это решит вашу проблему.

Спасибо, Smruti

Ответ 5

Это не в вашем коде, он просто затмение немного глючит. В ваших конфигурациях запуска можно попробовать запустить тест jUnit, но выберите "Запустить приложение" и эта ошибка исчезнет.

Ответ 6

Кроме того, что в манифесте вашего тестового приложения указаны указанные ниже элементы, проверьте в настройке "Запуск", что для поля "Инструментарий" установлено значение

"com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner". 

Это то, с чем я столкнулся, когда выяснял, почему я тестирую, не будет работать.

манифеста:

<instrumentation android:name="android.test.InstrumentationTestRunner"
 android:targetPackage="your.package"
 android:label="your tests label" />

 and...

<uses-library android:name="android.test.runner" />

Ответ 7

Проблема в том, что когда вы создали проект, у вас был бы AVD, поэтому эта конфигурация отсутствовала бы. Мой предложенный способ - сначала создать AVD, а затем создать проект андроида:).

Если бы вы уже создали проект, и если у вас мало кода, который вы написали, я бы предложил его удалить и создать новый.