Struttura di un runner di test

L'esecutore del test è l'unità di esecuzione del flusso di chiamata. È qui che vengono eseguiti i test.

Interfacce

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

In questo modo è possibile eseguire la definizione più semplice di un test. In pratica, però, gli autori di test hanno bisogno di maggiori informazioni per scrivere correttamente i propri test, in genere le informazioni sulla build e sul dispositivo. È qui che entrano in gioco le interfacce riportate di seguito.

Base

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

  • IBuildReceiver consente al test di recuperare l'oggetto IBuildInfo creato nel passaggio build provider contenente tutte le informazioni e gli elementi correlati alla configurazione del test.
  • IDeviceTest consente a TF di ricevere l'oggetto ITestDevice che rappresenta il dispositivo sotto il test e fornisce un'API per interagire con quest'ultimo.

Avanzate

Esistono interfacce aggiuntive che consentono un'interazione più complessa tra il righello di test e il programma di test:

  • ITestFilterReceiver, che consente al test di ricevere un insieme di filtri per l'esecuzione di determinati test solo. Questo è utile per eseguire un sottoinsieme di test.
  • ITestCollector, che consente a un utente di eseguire solo la simulazione dei test anziché effettuarne l'esecuzione. Questo è utile per raccogliere l'elenco di tutti i casi di test.

Esecutori di test esistenti

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

Oltre a quelli sopra indicati, esiste un numero elevato di runner di test personalizzati che hanno scopi specializzati per alcuni test funzionali, ad esempio il test di avvio.

Scrivere un nuovo programma di test

Ulteriori indicazioni su come scrivere un nuovo test runner sono disponibili nella sezione relativa ai test di scrittura.