Esta página describe los conceptos básicos sobre cómo implementar un nuevo informe de resultados y configurarlo para una prueba.
Interfaz central
Para definir un nuevo reportero de resultados en Tradefed, una clase debe implementar la interfaz ITestInvocationListener
que permite recibir y manejar diferentes etapas de la invocación:
-
invocationStarted
-
invocationEnded
-
invocationFailed
Los reporteros de resultados también manejan las diferentes etapas de cada ejecución de prueba:
-
testRunStarted
-
testStarted
-
testFailed
otestIgnored
-
testEnded
-
testRunFailed
-
testRunEnded
Ante todos estos eventos, existen dos tipos principales de reporteros de resultados, aquellos que:
- Sólo preocúpese por informar los resultados finales completos.
- Tomar medidas sobre resultados parciales.
Reportero de resultados que informa los resultados finales completos.
Este tipo es el caso más común a la hora de interactuar con un servicio externo que recibe los resultados. El reportero simplemente recibe y acumula los resultados y luego los envía todos en invocationEnded
al punto final del resultado.
Recomendamos que esos reporteros extiendan CollectingTestListener
en lugar de la interfaz base para evitar volver a implementar el guardado y almacenamiento de los resultados hasta invocationEnded
.
Reportero de resultados que informa resultados parciales.
Este tipo generalmente se usa para un enfoque de transmisión de resultados, cuando los resultados 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 del tipo de manejo que se requiere en los eventos, por lo que implementar la interfaz base suele ser la forma recomendada.
configuración 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>