2010-10-18 3 views
2

После того, как я установил все блок-тесты для моего приложения для Android, теперь я также хочу выполнить функциональное тестирование. Но я решаю одну проблему. Поскольку я разрабатываю для HTC Legend, к настоящему моменту я могу использовать платформы Android до 2.1. Но каким-то образом кажется, что ActivityInstrumentationTestCase2 не будет работать.Существуют ли проблемы с ActivityInstrumentationTestCase2 в Android 2.1?

public SupplierSelectoinTest() { 
    super("com.sap.catalogue.activities", SupplierSelection.class); 
} 

Этот простой фрагмент кода дает мне следующую ошибку, когда я пытаюсь запустить тест:

java.lang.RuntimeException: Unable to resolve activity for: Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.sap.catalogue.activities/com.sap.catalogue.activities.SupplierSelection } 
at android.app.Instrumentation.startActivitySync(Instrumentation.java:371) 
at android.test.InstrumentationTestCase.launchActivityWithIntent(InstrumentationTestCase.java:120) 
at android.test.InstrumentationTestCase.launchActivity(InstrumentationTestCase.java:98) 
at android.test.ActivityInstrumentationTestCase2.getActivity(ActivityInstrumentationTestCase2.java:87) 
at com.sap.catalogue.test.acceptance.SupplierSelectoinTest.setUp(SupplierSelectoinTest.java:27) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) 
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:430) 
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) 

Я прочитал все учебники и все, что я выйти из него в том, что он должен но это не так. В любом случае, когда я переключаюсь на android 2.2 (на данный момент это не решение), и я использую новый конструктор, где мне нужно всего лишь передать класс активности, а не строку pkg, эмулятор будет запускать тесты без жалоб.

Но должен быть способ заставить это работать в android 2.1!

Это мои два файла Manifest.xml. Первый, является одним из самого приложения. Другой - один из тестового проекта.

Применение Manifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.sap.catalogue" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".Catalogue" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    <activity android:name=".activities.CategoryBrowser"></activity> 

<activity android:name=".activities.ProductDetails"></activity> 
<activity android:name=".activities.ProductSearch"></activity> 
<activity android:name=".activities.ProductView"></activity> 
<activity android:name=".activities.SupplierSelection"></activity> 

</application> 
    <uses-sdk android:minSdkVersion="7" /> 

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
</manifest> 

Тест Manifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.sap.catalogue.test" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 

    <uses-library android:name="android.test.runner" /> 
    </application> 
    <uses-sdk android:minSdkVersion="7" /> 
    <instrumentation android:targetPackage="com.sap.catalogue" android:name="android.test.InstrumentationTestRunner" /> 

</manifest> 

ответ

6

Используйте имя пакета верхнего уровня.

0

Скорее всего, вы не писали деятельность в Manifest.xml. Не могли бы вы также поделиться им?

Edit:

Добавьте к этому тест Manifest.xml. Я думаю, это решит вашу проблему.

<activity android:name="com.sap.catalogue.activities.SupplierSelection"></activity> 
+0

Какой из них вы имеете в виду? Manifest.xml тестового проекта или самого приложения? – philgiese

+0

Я имел в виду тест Manifest.xml. изм. –

+0

К сожалению, это не так. Даже с этой строкой в ​​Manifest.xml это дает мне точно такую ​​же ошибку. – philgiese

Смежные вопросы