Cette section explique comment exécuter les tests de la fédération du commerce et y contribuer après avoir apporté une modification au projet. Par exemple :
- Où ajouter les nouvelles classes de tests unitaires ?
- Exécuter des tests unitaires dans Eclipse et en dehors de l'IDE Eclipse
- Où ajouter des tests fonctionnels ?
- Exécuter les tests fonctionnels
- Exécuter en local une partie de la validation avant envoi de TF
Ajouter des tests unitaires
Dans le projet Android Open Source (AOSP), ajoutez la classe de tests unitaires dans: tools/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java
IMPORTANT: Si vous ajoutez vos nouvelles classes de tests unitaires à ces emplacements, s'exécutent automatiquement avant l'envoi sans configuration supplémentaire.
Exécuter des tests unitaires
Tous les tests unitaires AOSP et tests fonctionnels pour la fédération du commerce sont situés dans
la
tools/tradefederation/core/tests
projet.
Dans Eclipse, pour exécuter un test unitaire individuel, il vous suffit de faire un clic droit sur le test sélectionnez Exécuter en tant que > JUnit. Pour exécuter tous les tests unitaires, exécutez la commande com.android.tradefed.UnitTests.
Vous pouvez également lancer le test unitaire à partir de la ligne de commande dans la source Tradefed
arbre après la construction, comme ceci:
tools/tradefederation/core/javatests/run_tradefed_tests.sh
Les tests unitaires peuvent être exécutés de manière autonome, mais les tests fonctionnels doivent être exécutés.
par le biais de la fédération commerciale elle-même ; elles nécessitent un appareil Android. Toutes fonctionnelles
les tests doivent respecter la convention d'attribution de noms *FuncTest
.
Vérifier les résultats des tests unitaires
Lors de l'exécution de run_tradefed_tests.sh
, les tests unitaires exécutent toutes les parties de
l'exploitation de test, y compris
certaines conditions d'erreur. Elle affichera une sortie détaillée
à la console, y compris les traces de la pile.
Le résumé final des résultats indiquera si une erreur s'est produite ou non.
Exemple de résumé final dans la console:
12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]
Tous les tests sont maintenus pour réussir. Par conséquent, en cas d'échec sur votre modification locale, veuillez vous assurer que les tests sont corrigés.
Ajouter des tests fonctionnels
Si votre test fonctionnel implique un appareil (utilise une API
ITestDevice
) : se trouve danscom.android.tradefed.DeviceFuncTests
. Sinon, la définition de la suite se trouve danscom.android.tradefed.FuncTests
.Si vos méthodes de test sont logiques à placer dans l'une des sous-classes de la suite existante, je préfère l'ajouter à cet endroit. Sinon, n'hésitez pas à ajouter une nouvelle classe suite.
Dans les deux cas, en l'ajoutant à la suite, votre test sera automatiquement exécuté dans le pipeline CI avec les autres tests fonctionnels.
Exécuter des tests fonctionnels
Pour exécuter un test fonctionnel à partir d'Eclipse:
- Assurez-vous qu'un appareil est connecté à l'hôte, et que
adb
et si nécessaire Lesfastboot
se trouvent dans la variable PATH d'Eclipse. Le moyen le plus simple de le faire est de lancer Éclipse d'une configuration de shell avec le PATH approprié - Créer une application Java Exécutez la configuration via Run > Exécuter de configuration.
- Définissez le projet sur
tradefed-tests
et la classe principale surcom.android.tradefed.command.CommandRunner
- Exécutez
m tradefed-all
. - Indiquez les arguments de ligne de commande suivants dans l'onglet Arguments:
host --class <full path of test class to run>
- Cliquez sur Run (Exécuter).
Pour exécuter des tests fonctionnels en dehors d'Eclipse.
- Créer une fédération de commerce.
- Connectez un appareil Android à l'hôte.
- Exécutez
tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
. - Vous pouvez également choisir l'appareil en ajoutant
--serial <serial no>
. apparaît dans la sortie deadb devices
.
Exécuter des tests de pré-envoi TF sur les modifications locales
Si vous souhaitez l'exécuter de la même manière que le presubmit TF, utilisez ceci:
tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh
Cela déclenchera tous les tests de préenvoi TF sur votre TF compilé localement pour vous aident à vérifier que votre modification ne casse pas les tests.
Les tests de préenvoi TF sont un sur-ensemble des tests unitaires ci-dessus, mais ils sont plus lents à les exécuter. Il est donc recommandé d'exécuter les tests unitaires pendant le développement une validation plus rapide et d'exécuter les préenvois avant d'importer la CL.