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
odertestIgnored
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 empfangen und sofort an andere Stellen verschoben 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>