In questa pagina vengono descritte le nozioni di base su come implementare un nuovo strumento di segnalazione dei risultati e configurarla per un test.
Interfaccia principale
Per definire un nuovo reporter dei risultati in Tradefed, una classe deve implementare
il
ITestInvocationListener
che consente di ricevere e gestire diverse fasi
chiamata:
invocationStarted
invocationEnded
invocationFailed
I reporter dei risultati gestiscono anche le diverse fasi di ogni esecuzione di test:
testRunStarted
testStarted
testFailed
otestIgnored
testEnded
testRunFailed
testRunEnded
Alla luce di tutti questi eventi, esistono due tipi principali di report sui risultati:
- Ti interessa solo riportare i risultati finali completi.
- Intervieni sui risultati parziali.
Reporter dei risultati che riporta i risultati completi finali
Questo è il caso più comune quando si tratta di interagire con un
che riceve i risultati. Il giornalista riceve e accumula semplicemente
i risultati e li invia tutti su invocationEnded
all'endpoint dei risultati.
Consigliamo invece ai reporter di estendere la CollectingTestListener
dell'interfaccia di base per evitare di dover implementare nuovamente
fino al giorno invocationEnded
.
Reporter dei risultati che segnala risultati parziali
Questo tipo viene solitamente utilizzato per un approccio in modalità flusso dei risultati, vengono ricevuti e inviati immediatamente ad altri posti. Ad esempio, un reporter che registra i risultati nella console sarebbe di questo tipo.
Questo tipo di gestione è specifica per gli eventi, pertanto, generalmente l'implementazione dell'interfaccia di base è consigliata.
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>