Après avoir configuré tous les cas de test unitaires pour mon application android, je veux maintenant faire des tests fonctionnels. Mais je rencontre un problème. Comme je suis en train de développer pour le HTC Legend, je peux, à l'heure actuelle, seulement utiliser des plates-formes Android jusqu'à 2,1. Mais d'une certaine manière, il semble que le ActivityInstrumentationTestCase2 ne fonctionnera pas.Y a-t-il des problèmes avec ActivityInstrumentationTestCase2 dans Android 2.1?
public SupplierSelectoinTest() {
super("com.sap.catalogue.activities", SupplierSelection.class);
}
Ce simple morceau de code me donne l'erreur suivante, lorsque je tente de lancer le test:
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)
J'ai lu tous les tutoriels et tout ce que je sors de c'est qu'il devrait mais ça ne marche pas. Quoi qu'il en soit, quand je passe à Android 2.2 (ce qui n'est pas une solution pour l'instant) et j'utilise le nouveau constructeur, où j'ai seulement besoin de remettre la classe d'activité et non la chaîne pkg l'émulateur va exécuter les tests sans se plaindre.
Mais il doit y avoir un moyen de le faire tourner dans Android 2.1!
En outre Voici mes deux fichiers Manifest.xml. Le premier, est celui de l'application elle-même. L'autre est celui du projet de test.
application 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>
test 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>
Lequel voulez-vous dire? Le fichier Manifest.xml du projet de test ou de l'application elle-même? – philgiese
Je voulais dire test Manifest.xml. édité. –
Malheureusement, ce n'est pas le cas. Même avec cette ligne dans le Manifest.xml cela me donne exactement la même erreur. – philgiese