Le lanceur de test est l'unité d'exécution du flux d'invocation. C'est là que les tests s'exécutent réellement.
Interfaces
Les exécutants de tests sont définis via l'interface IRemoteTest, qui fournit une méthode run
simple à implémenter et qui sera appelée lorsque les tests devront être exécutés.
Cela permet de définir une série de tests de la manière la plus simple possible. Cependant, en pratique, les rédacteurs de tests auront besoin de plus d'informations pour écrire 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.
Standard
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
IBuildInfo
créé à l'étape du fournisseur de compilation contenant toutes les informations et tous les artefacts liés à la configuration du test. - IDeviceTest permet à TF de recevoir l'objet
ITestDevice
qui 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 lanceur de tests :
- ITestFilterReceiver, qui permet au test de recevoir un ensemble de filtres pour n'exécuter que certains tests. Cela est utile pour exécuter un sous-ensemble de tests.
- ITestCollector, qui permet à un exécuteur de tests de simuler uniquement les tests au lieu de les exécuter réellement. Cela permet de collecter la liste de tous les scénarios de test.
Exécuteurs de tests existants
Il existe déjà différents testeurs, 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 Pure Java (notre outil d'exécution fait les deux)
- Tests Python
- Tests Google Benchmark avec la bibliothèque Benchmark
Il existe un grand nombre d'exécuteurs de tests personnalisés en plus de ceux mentionnés ci-dessus. Ils servent à des fins spécialisées pour certains tests fonctionnels, par exemple le test de démarrage.
Écrire un nouveau lanceur de test
Pour obtenir plus d'informations sur l'écriture d'un nouveau test runner, consultez la section Écrire des tests.