Créer un rapporteur de résultats

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 ou testIgnored
  • 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>