Ergebnismelder erstellen

Auf dieser Seite werden die Grundlagen zum Implementieren eines neuen Ergebnisberichters und zum Konfigurieren für einen Test beschrieben.

Core-Oberfläche

Um einen neuen Ergebnisberichterstatter in Tradefed zu definieren, muss eine Klasse die ITestInvocationListener-Schnittstelle implementieren, die den Empfang und die Verarbeitung verschiedener Aufrufphasen ermöglicht:

  • invocationStarted
  • invocationEnded
  • invocationFailed

Ergebnisberichte erfassen auch die verschiedenen Phasen jedes Testlaufs:

  • testRunStarted
  • testStarted
  • testFailed oder testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

Angesichts all dieser Ereignisse gibt es zwei Haupttypen von Ergebnisberichten:

  • Es ist wichtig, dass Sie nur die endgültigen, vollständigen Ergebnisse angeben.
  • Maßnahmen bei Teilergebnissen ergreifen

Ergebnisbericht, der die endgültigen Ergebnisse enthält

Dieser Typ ist der häufigste Fall bei der Interaktion mit einem externen Dienst, der die Ergebnisse empfängt. Der Berichter empfängt und sammelt einfach die Ergebnisse und sendet sie dann alle über invocationEnded an den Ergebnisendpunkt.

Wir empfehlen diesen Nutzern, CollectingTestListener anstelle der Basisoberfläche zu erweitern, um das Speichern und Speichern der Ergebnisse bis invocationEnded nicht noch einmal implementieren zu müssen.

Ergebnis-Reporter, der Teilergebnisse meldet

Dieser Typ wird in der Regel für einen Streaming-Ansatz der Ergebnisse verwendet, wenn Ergebnisse empfangen und sofort an andere Stellen gesendet werden. Ein Beispiel für einen solchen Nutzer ist ein Reporter, der die Ergebnisse in der Konsole protokolliert.

Dieser Typ gibt an, welche Art der Verarbeitung für die Ereignisse erforderlich ist. Daher wird in der Regel die Implementierung der Basisschnittstelle empfohlen.

XML-Konfiguration

Das Objekt-Tag ist result_reporter. Beispiel:

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
    <option name="suppress-passed-tests" value="true"/>
</result_reporter>