Ergebnisbericht erstellen

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

Core-Oberfläche

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

  • 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

Dies ist der häufigste Fall bei der Interaktion mit einer externen der die Ergebnisse erhält. 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 normalerweise für einen Streaming-Ansatz der Ergebnisse verwendet, wenn Ergebnisse empfangen und sofort an andere Stellen verschoben werden. Ein Beispiel für einen solchen Nutzer ist ein Reporter, der 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>