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
odertestIgnored
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>