Plugin Android Eclipse: Testeur d’instrumentation non spécifié

Je reçois cette erreur lorsque je tente d’exécuter des tests unitaires à partir d’Eclipse avec un projet Android. La liste des testeurs d’instrumentation est vide dans les préférences Android.

[2009-06-17 23:57:51 – MyApp] ERREUR: l’application ne spécifie pas d’instrumentation android.test.InstrumentationTestRunner ou ne déclare pas uses-library android.test.runner

C’est aussi énervant que j’ai toujours essayé de faire un test unitaire.

Dans la Run Configuration exécution, vous pouvez avoir le Android JUnit Test , s’il y a de nouvelles entrées de configuration de lancement à l’intérieur, vous les supprimez et exécutez ensuite votre application.

NOTE – Ceci est probablement la solution si vous avez essayé d’exécuter le scénario de test avant d’append les lignes correctes au manifeste, comme décrit dans la réponse de Josef. Si vous avez fait cela, supprimez la configuration (qui se plaint qu’aucun testeur d’instrumentation n’a été spécifié dans son en-tête), puis exécutez-la à nouveau en tant que test Junit Android et cela créera une configuration valide ont ajouté au manifeste (voir la réponse de Josef à ce sujet).

Vous manquez probablement les noeuds uses-library et instrumentation dans votre AndroidManifest.xml :

        

Une chose que j’ai remarquée dans cette discussion qui pourrait déclencher certaines personnes est que vous devez vous assurer que l’élément “instrumentation” de votre manifeste est un enfant de “manifest” et non de “application”. (Les exemples ici sont corrects, mais ce facile à mélanger.)

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

Si vous placez votre instrumentation dans l’application, elle ne sera pas captée et vos choix dans le plug-in Eclipse ADT pour le runner d’instrumentation seront peut-être vides. (Mais aucune erreur n’est lancée ou affichée, etc.)

Faites un clic droit sur votre classe de test depuis l’IDE Eclipse et cliquez sur “Exécuter en tant que”. Après cela, sélectionnez “Exécuter la configuration” qui lancera une fenêtre de configuration dans eclipse et vous devrez cliquer sur le bouton radio à côté de “Instrumentation Runner” et sélectionner le composant Instrumentation Runner dans le menu déroulant. Cliquez maintenant sur Apply puis sur Run. Je pense que cela va résoudre votre problème.

Merci Smruti

Ce n’est pas dans votre code, c’est juste une petite erreur. Dans vos configurations d’exécution, il est possible que vous tentiez d’exécuter un test jUnit, mais sélectionnez Exécuter une application et cette erreur disparaîtra.

En plus de vous assurer que les éléments ci-dessous sont déclarés dans le manifeste de votre application de test, vérifiez dans la configuration d’exécution que le champ “Runner d’instrumentation” est défini sur

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

C’est ce que j’ai rencontré en cherchant pourquoi je testais ne fonctionnerait pas.

Manifeste:

  and...  

Le problème est que lorsque vous avez créé le projet, vous auriez eu un AVD, donc cette configuration serait manquante. Mon moyen suggéré est d’abord de créer l’AVD puis de créer le projet Android :).

Si vous avez déjà créé le projet et si vous n’avez pas beaucoup de code que vous avez écrit, je vous suggère de le supprimer et d’en créer un nouveau.