Structure d'un lanceur de test

Le lanceur de tests est l’unité d’exécution du flux d’appel. C'est là que les tests sont réellement exécutés.

Interfaces

Les exécuteurs de tests sont définis via l' interface IRemoteTest , qui fournit une méthode run simple à implémenter qui sera appelée lors de l'exécution des tests.

Cela permet de réaliser la définition la plus simple d'une exécution de test. Mais dans la 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 construction et le périphérique. C'est là que les interfaces suivantes sont utiles.

Basique

Ces deux interfaces sont aujourd’hui les plus utilisées, car elles représentent les besoins fondamentaux de la plupart des tests.

  • IBuildReceiver permet au test d'obtenir l'objet IBuildInfo créé à l'étape du fournisseur de build contenant toutes les informations et 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 test :

  • ITestFilterReceiver , qui permet au test de recevoir un ensemble de filtres pour exécuter certains tests uniquement. Ceci est utile pour exécuter un sous-ensemble de tests.
  • ITestCollector , qui permet à un exécuteur de tests d'exécuter uniquement les tests au lieu de les exécuter réellement. Ceci est utile pour collecter la liste de tous les cas de test.

Exécuteurs de tests existants

Il existe déjà une variété de lanceurs de tests, certains pour les principaux types de tests :

Il existe un grand nombre de lanceurs de tests personnalisés en plus de ceux ci-dessus ; ils servent à des fins spécialisées pour certains tests fonctionnels, par exemple Boot Test.

Écrire un nouveau programme d'exécution de test

Des conseils supplémentaires sur l'écriture d'un nouveau programme d'exécution de tests sont disponibles dans la section Écriture de tests .