Я только начал пытаться настроить какое-то модульное тестирование в том, что по сути является моим первым приложением для Android. У меня было чертовски много времени на поиск ресурса для этого, но в конечном итоге я смог собрать воедино то, на что, я надеялся, был верным путем вперед.
Во-первых, это то, что я сделал.
В Eclipse я щелкнул правой кнопкой мыши свой проект, для которого я хотел бы создать тестовый проект.
Я выбрал AndroidTools -> Новый тестовый проект
Я заполнил необходимую информацию, выбрав местоположение ../MyApp/tests для нового проекта и выбрал MyApp в качестве проекта для тестирования. Все остальное было оставлено по умолчанию.
Во время выполнения я получил следующее сообщение об ошибке:
[2011-04-01 08:13:02 - WPMSTest] R.java был изменен вручную! Возврат к сгенерированной версии!
Но все казалось хорошо. У меня в папке с тестами было новое дерево исходников.
Поэтому я попытался выполнить его (сначала на оборудовании, а затем на эмуляторе) с помощью RunAs -> Android jUnit test.
В обоих случаях я получал в консоли затмения ниже:
[2011-04-01 08:23:04 - WPMSTest] Запуск инструментария android.test.InstrumentationTestRunner на эмуляторе устройства-5554
[2011-04-01 08:23:04 - WPMSTest] Не удалось запустить тест
Мои два файла манифеста:
WPMSTest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.WPMS.test"
android:versionCode="1"
android:versionName="1.0">
<instrumentation android:targetPackage="com.WPMS" android:name="android.test.InstrumentationTestRunner" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="android.test.runner" />
</application>
WPMS:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.WPMS"
android:versionCode="1"
android:versionName="1.0">
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher_wpms">
<activity android:name=".WPMS"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Я надеюсь, что кто-то видел что-то подобное раньше и может пролить свет на то, что я делаю неправильно. Пожалуйста, дайте мне знать, если вам нужны еще файлы, и я обязательно опубликую их.
Спасибо!