Creare un report sui risultati

Questa pagina descrive le nozioni di base su come implementare un nuovo reporter dei risultati e configurarlo per un test.

Interfaccia principale

Per definire un nuovo reporter dei risultati in Tradefed, una classe deve implementare l'interfaccia ITestInvocationListener che consente di ricevere e gestire le diverse fasi dell'invocazione:

  • invocationStarted
  • invocationEnded
  • invocationFailed

I reporter dei risultati gestiscono anche le diverse fasi di ogni esecuzione del test:

  • testRunStarted
  • testStarted
  • testFailed o testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

Dati tutti questi eventi, esistono due tipi principali di reporter dei risultati: quelli che:

  • Interessa solo la generazione di report sui risultati finali completi.
  • Intervenire sui risultati parziali.

Reporter dei risultati che segnala i risultati finali completi

Questo tipo è il caso più comune quando si interagisce con un servizio esterno che riceve i risultati. Il reporter riceve e accumula semplicemente i risultati e poi li invia tutti il giorno invocationEnded all'endpoint dei risultati.

Consigliamo a questi reporter di estendere CollectingTestListener anziché l'interfaccia di base per evitare di reimplementare il salvataggio e l'archiviazione dei risultati fino al giorno invocationEnded.

Reporter dei risultati che segnala risultati parziali

Questo tipo viene solitamente utilizzato per un approccio di streaming dei risultati, quando i risultati vengono ricevuti e inviati immediatamente ad altri luoghi. Ad esempio, un reporter che registra i risultati nella console sarebbe di questo tipo.

Questo tipo è specifico per il tipo di gestione richiesto per gli eventi, quindi l'implementazione dell'interfaccia di base è in genere il modo consigliato.

Configurazione XML

Il tag dell'oggetto è result_reporter. Ad esempio:

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
    <option name="suppress-passed-tests" value="true"/>
</result_reporter>