Le programme d'exécution de test est l'unité d'exécution du flux d'appel. C'est là que les tests s'exécutent réellement.
Interfaces
Les programmes d'exécution de test sont définis via l'interface IRemoteTest,
qui fournit une méthode run simple à implémenter et qui sera appelée lors de l'exécution des
tests.
Cela permet la définition la plus simple d'une exécution de test. Toutefois, en pratique, les rédacteurs de tests auront besoin de plus d'informations pour rédiger correctement leurs tests, généralement des informations sur la compilation et l'appareil. C'est là que les interfaces suivantes s'avèrent utiles.
De base
Ces deux interfaces sont les plus utilisées aujourd'hui, car elles répondent aux besoins de base de la plupart des tests.
- IBuildReceiver
permet au test d'obtenir l'objet
IBuildInfocréé à l'étape du fournisseur de compilation, qui contient toutes les informations et tous les artefacts liés à la configuration du test. - IDeviceTest
permet à TF de recevoir l'objet
ITestDevicequi représente l'appareil testé et fournit une API pour interagir avec lui.
Avancé
Il existe des interfaces supplémentaires qui permettent une interaction plus complexe entre le harnais de test et le programme d'exécution de test :
- ITestFilterReceiver, qui permet au test de recevoir un ensemble de filtres pour n'exécuter que certains tests seulement. Cela est utile pour exécuter un sous-ensemble de tests.
- ITestCollector, qui permet à un programme d'exécution de test d'exécuter les tests à blanc au lieu de les exécuter réellement. Cela est utile pour collecter la liste de tous les cas de test.
Programmes d'exécution de test existants
Il existe déjà différents programmes d'exécution de test, dont certains pour les principaux types de tests :
- AndroidJUnitTest / InstrumentationTest (associé à AJUR côté appareil)
- GTest (côté appareil et hôte) avec la bibliothèque googletest
- Tests pilotés par l'hôte (tests Java qui s'exécutent sur l'hôte et appellent l'appareil à partir de là)
- Tests unitaires Java purs (notre programme d'exécution effectue les deux)
- Tests Python
- Tests Google Benchmark avec la bibliothèque benchmark
Outre les programmes d'exécution de test ci-dessus, il existe un grand nombre de programmes d'exécution de test personnalisés. Ils servent à des fins spécialisées pour certains tests fonctionnels, par exemple le test de démarrage.
Écrire un nouveau programme d'exécution de test
Pour en savoir plus sur l'écriture d'un nouveau programme d'exécution de test, consultez la section Écrire des tests.