Ответ 1
Да, это возможно, но не рекомендуется, поскольку оно указано в официальном руководстве :
Как только вы создали тестовый проект, вы заполняете его тестовым пакетом. Этот пакет не требует действия, хотя вы можете определить его, если хотите. Хотя ваш тестовый пакет может сочетать классы активности, классы тестов или обычные классы, ваш основной тестовый пример должен расширить один из классов тестовых случаев Android или классов JUnit, поскольку они обеспечивают наилучшие возможности тестирования.
Для этого вам необходимо:
- Определите свою фиктивную активность в тестовом проекте AndroidManifest.xml.
- Измените контрольную точку TargetPackage на себя в Test Проект AndroidManifest.xml. (испытуемый класс активности должен под контрольным пакетом TargetPackage).
Предположим, что у меня есть тестовый проект. com.example.test содержит два класса DummyActivity и DummyActivityTest, тогда, если вы хотите протестировать DummyActivity с помощью DummyActivityTest, вам необходимо определить ваш тестовый проект AndroidManifest.xml следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<!-- targetPackage point to test project itself -->
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.test" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
<activity
android:name=".DummyActivity"
android:label="@string/app_name" >
</activity>
</application>