Le lanceur de test est l'unité d'exécution du flux d'appel. C'est là que les tests sont exécutés.
Interfaces
Les outils d'exécution des tests sont définis via l'interface IRemoteTest, qui fournit une méthode run
simple à implémenter qui sera appelée lorsque les tests doivent être exécutés.
Cela permet de définir la version la plus simple d'une exécution de test. En pratique, les rédacteurs de tests ont besoin d'informations supplémentaires 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 représentent les 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 en cours de test et fournit une API pour interagir avec lui.
Avancé
D'autres interfaces permettent une interaction plus complexe entre le banc d'essais et le lanceur de tests:
- ITestFilterReceiver, qui permet au test de recevoir un ensemble de filtres pour exécuter uniquement certains tests. Cela est utile pour exécuter un sous-ensemble de tests.
- ITestCollector, qui permet à un exécuteur de test de ne simuler que 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 test existants
Il existe déjà différents outils de test, 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 basés sur l'hôte (tests Java qui s'exécutent sur l'hôte et appellent l'appareil à partir de celui-ci)
- Tests unitaires Java purs (notre exécuteur effectue les deux)
- Tests Python
- Tests Google Benchmark avec la bibliothèque d'analyse comparative
En plus de ce qui précède, il existe un grand nombre de lanceurs de tests personnalisés. 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 des conseils supplémentaires sur l'écriture d'un lanceur de test, consultez la section Écrire des tests.