Cette page décrit les principes de base de l'implémentation d'un rapporteur de résultats. le configurer pour un test.
Interface principale
Pour définir un nouveau rapporteur de résultats dans Tradefed, une classe doit implémenter
la
ITestInvocationListener
qui permet de recevoir et de gérer différentes étapes
appel:
invocationStarted
invocationEnded
invocationFailed
Les rapporteurs de résultats gèrent également les différentes étapes de chaque exécution de test:
testRunStarted
testStarted
testFailed
outestIgnored
testEnded
testRunFailed
testRunEnded
Compte tenu de tous ces événements, il existe deux principaux types de rapporteurs de résultats:
- Vous devez uniquement communiquer les résultats finaux finaux.
- Agissez sur les résultats partiels.
Rapport sur les résultats finaux finaux
Il s'agit du cas le plus courant lorsqu'il s'agit d'interagir avec un
qui reçoit les résultats. Il reçoit et accumule simplement
les résultats, puis les envoie tous sur invocationEnded
au point de terminaison du résultat.
Nous recommandons à ces reporters d'étendre CollectingTestListener
à la place
de l'interface de base afin d'éviter de réimplémenter l'enregistrement et le stockage
résultats jusqu'au invocationEnded
.
Rapporteur de résultats qui signale des résultats partiels
Ce type est généralement utilisé pour une approche par flux des résultats, lorsque les résultats sont aussitôt reçus et transférés vers d'autres emplacements. Par exemple, un reporter qui consigne les résultats dans la console sont de ce type.
Ce type est spécifique au type de traitement requis pour les événements, Il est donc généralement recommandé d'implémenter l'interface de base.
Configuration XML
Le tag d'objet est result_reporter
. Exemple :
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>