Ergebnismelder erstellen

Auf dieser Seite werden die Grundlagen zur Implementierung eines neuen Ergebnismelders und und konfigurieren es für einen Test.

Hauptoberfläche

Um einen neuen Ergebnismelder in Tradefed zu definieren, muss eine -Klasse die ITestInvocationListener die den Empfang und die Verarbeitung verschiedener Phasen des Aufruf:

  • invocationStarted
  • invocationEnded
  • invocationFailed

Ergebnisreporter bearbeiten auch die verschiedenen Phasen jedes Testlaufs:

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

Angesichts all dieser Ereignisse gibt es zwei Haupttypen von Ergebnismeldern:

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

Ergebnismelder, der die endgültigen vollständigen Ergebnisse meldet

Dies ist der häufigste Fall bei der Interaktion mit einer externen der die Ergebnisse erhält. Der Reporter empfängt und sammelt die Ergebnisse und sendet sie dann alle am invocationEnded an den Endpunkt des Ergebnisses.

Wir empfehlen, dass diese Melder stattdessen CollectingTestListener erweitern der Basisschnittstelle, um das Speichern und Speichern der Ergebnisse bis zum invocationEnded.

Ergebnismelder, der Teilergebnisse meldet

Dieser Typ wird normalerweise für einen Streaming-Ansatz der Ergebnisse verwendet, wenn Ergebnisse und an andere Stellen gesendet werden. Zum Beispiel könnte ein Reporter das die Ergebnisse in der Konsole protokolliert.

Dieser Typ hängt davon ab, welche Art der Verarbeitung für die Ereignisse erforderlich ist. Daher ist die Implementierung der Basisschnittstelle normalerweise die empfohlene Methode.

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>