Cette page explique les principes de base de l'implémentation d'un nouveau rapporteur de résultats et de sa configuration 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 outils de création de rapports sur les 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:
- Ne vous préoccupez que de générer les résultats finaux complets.
- Agir sur les résultats partiels
Outil de création de rapports qui génère les résultats finaux
Ce type est le 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 rapporteurs d'étendre CollectingTestListener
au lieu de l'interface de base afin d'éviter de réimplémenter l'enregistrement et le stockage des résultats jusqu'à invocationEnded
.
Outil de création de rapports qui génère des résultats partiels
Ce type est généralement utilisé pour une approche par flux des résultats, lorsque les résultats sont reçues et transférées immédiatement vers d’autres endroits. Par exemple, un rapporteur qui consigne les résultats dans la console est 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>