Struttura di un test runner

Il test runner è l'unità di esecuzione del flusso di chiamata. È qui che vengono effettivamente eseguiti i test.

Interfacce

I test runner vengono definiti tramite l' interfaccia IRemoteTest , che fornisce un semplice metodo di run da implementare che verrà chiamato quando i test devono essere eseguiti.

Ciò consente la definizione più semplice di un'esecuzione di test. Ma in pratica, gli autori dei test avranno bisogno di più informazioni per scrivere correttamente i loro test, in genere informazioni sulla build e sul dispositivo. È qui che tornano utili le seguenti interfacce.

Di base

Queste due interfacce sono oggi le più utilizzate, poiché rappresentano le esigenze di base della maggior parte dei test.

  • IBuildReceiver consente al test di ottenere l'oggetto IBuildInfo creato nella fase del provider di build contenente tutte le informazioni e gli artefatti relativi alla configurazione del test.
  • IDeviceTest consente a TF di ricevere l'oggetto ITestDevice che rappresenta il dispositivo sotto test e fornisce un'API per interagire con esso.

Avanzate

Esistono interfacce aggiuntive che consentono un'interazione più complessa tra il test cablaggio e il test runner:

  • ITestFilterReceiver , che consente al test di ricevere una serie di filtri per l'esecuzione solo di determinati test. Ciò è utile per eseguire un sottoinsieme di test.
  • ITestCollector , che consente a un test runner di eseguire solo i test invece di eseguirli effettivamente. Ciò è utile per raccogliere l'elenco di tutti i casi di test.

Test runner esistenti

Esistono già numerosi test runner, alcuni per i principali tipi di test:

Oltre a quanto sopra, esiste un gran numero di test runner personalizzati; servono a scopi specializzati per alcuni test funzionali, ad esempio Boot Test.

Scrivi un nuovo test runner

Ulteriori indicazioni sulla scrittura di un nuovo test runner sono disponibili nella sezione dei test di scrittura .