En esta página, se describen los conceptos básicos para implementar un nuevo generador de informes de resultados y configurarlo para una prueba.
Interfaz principal
Para definir un nuevo generador de informes de resultados en Tradefed, una clase debe implementar
el
ITestInvocationListener
que permite recibir y manejar las diferentes etapas del
invocación:
invocationStarted
invocationEnded
invocationFailed
Los generadores de informes de resultados también controlan las diferentes etapas de cada ejecución de prueba:
testRunStarted
testStarted
testFailed
otestIgnored
testEnded
testRunFailed
testRunEnded
Teniendo en cuenta todos estos eventos, existen dos tipos principales de generadores de informes de resultados:
- Solo le interesa informar los resultados finales completos.
- Tomar medidas en función de los resultados parciales
Generador de informes de resultados que informa los resultados finales completos
Este es el caso más común cuando se trata de interactuar con un
servicio que recibe los resultados. El informante solo recibe y acumula
los resultados y, luego, los envía todos en invocationEnded
al extremo de resultados.
Recomendamos que esos generadores de informes extiendan CollectingTestListener
en su lugar
de la interfaz base para evitar reimplementar el guardado y el almacenamiento del
hasta el invocationEnded
.
Informante de resultados que informa resultados parciales
Este tipo suele usarse para un enfoque de transmisión de resultados, cuando estos se reciben y se envían a otros lugares de inmediato. Por ejemplo, un reportero que registra los resultados en la consola sería de este tipo.
Este tipo es específico para qué tipo de control se requiere en los eventos, por lo que se recomienda implementar la interfaz base.
Configuración de XML
La etiqueta del objeto es result_reporter
. Por ejemplo:
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>