Exécuter des tests unitaires Android à partir de la ligne de commande?
Je suis en train d'exécuter des tests unitaires sur la plate-forme android, conformément à tutoriel. Dire, par exemple, je veux exécuter des tests pour l'application e-Mail. J'ouvre /apps/Email/tests/AndroidManifest.xml
fichier, recherchez le <manifest>
élément, et de regarder la package
attribut, qui est com.android.email.tests
et dans le <instrumentation>
élément je regarde le android:name
attribut, qui est android.test.InstrumentationTestRunner
. Maintenant, j'ai ouvert la console et exécutez
$ . build/envsetup.sh
$ lunch 1
$ adb shell am instrument -w com.android.email.tests/android.test.InstrumentationTestRunner
Mais qui échoue:
INSTRUMENTATION_STATUS: id=ActivityManagerService
android.util.AndroidException: INSTRUMENTATION_FAILED: com.android.email.tests/android.test.InstrumentationTestRunner
INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.android.email.tests/android.test.InstrumentationTestRunner}
Donc.. Ce que je fais mal?
source d'informationauteur folone
Vous devez vous connecter pour publier un commentaire.
S'il vous plaît exécuter
python development/testrunner/runtest.py e-mail
et alors vous verrez qu'il fonctionne :).
Fondamentalement, vous n'avez pas de com.android.e-mail.tests paquet installé.
Vous pouvez voir ce qui est disponible pour l'instrumentation
Et vous devriez voir
Et quand faire
Vous devrez peut-être configurer un projet de test avec le
android create test-project
première commande. Consulter cette page sur l'Android Dev site: Tester Dans d'Autres IDE pour plus d'info. J'ai utilisé cette méthode pour activer la ligne de commande de test avec ant.Ce que j'ai effectivement oublié de le faire a été la construction et l'installation de ce test packages sur mon appareil/émulateur. Découvert qu'après avoir réalisé:
Et pas de
com.android.email.tests
ensemble.Ma question était de cette balise:
Tout d'abord, j'ai eu l'
android:name
attribut mal puis le package cible de mal (ci-dessus est la bonne solution)Test Package n'est Pas Installé sur l'Émulateur
J'ai eu exactement le même problème et a réalisé que le package de test n'avait pas été installé sur l'émulateur, qui est ce que @marekdef est en train de dire.
Au lieu de l'aide de la commande qui se trouve dans l'généré un fichier de test, j'ai utilisé les éléments suivants:
*J'ai eu mon projet de test dans
<project_home>/tests
donc la commande suivante est ce que j'ai fini à l'aide de mon d'accueil du projet répertoire:Espère que ça aide.
J'ai reçu le "Impossible de trouver l'instrumentation info" erreur sous cette condition: j'ai défini mon projet de test avec un src nom du package qui était le même que celui du projet à l'essai. Par exemple, la source pour les deux projets était dans le package com.mycompany.android. Ce parallèle-src-package d'installation a bien fonctionné dans Eclipse, mais sur l'émulateur il est apparu que le test apk était d'écraser l'app apk.
Corrigé: j'ai changé la src packge du projet de test pour les tester.mycompany.android.
Noter que, dans les deux cas, le manifeste Android pour le projet de test définit:
< manifeste du package="pkg-de-projet-sous-test" ...>
et
< instrumentation android:targetPackage="pkg-de-projet-sous-test" ...>
Pour gradle utilisateur que vous pouvez utiliser pour les tâches suivantes: