Struttura di un programma di test

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

Interfacce

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

Ciò consente di eseguire la definizione più semplice di un test. Tuttavia, in pratica, gli autori dei test avranno bisogno di maggiori informazioni per scrivere correttamente i test, in genere informazioni sulla build e sul dispositivo. È qui che entrano in gioco le seguenti interfacce.

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 ottenere l'oggetto IBuildInfo creato nel passaggio build provider 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 in fase di test e fornisce un'API per interagire con esso.

Avanzate

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

  • ITestFilterReceiver, che consente al test di ricevere un insieme di filtri per eseguire solo determinati test. Questa opzione è utile per eseguire un sottoinsieme dei test.
  • ITestCollector, che consente a un test runner di eseguire solo una prova generale dei test anziché eseguirli effettivamente. Questo è utile per raccogliere l'elenco di tutti gli scenari di test.

Esecutori di test esistenti

Esiste già una serie di test runner, alcuni per i principali tipi di test:

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

Scrivere un nuovo test runner

Ulteriori indicazioni per la scrittura di un nuovo test runner sono disponibili nella sezione relativa alla scrittura di test.