Na tej stronie znajdziesz podstawowe informacje o tym, jak wdrożyć nowy raporter wyników i skonfigurować go do testowania.
Główny interfejs
Aby zdefiniować w ramach Tradefed nową funkcję raportowania wyników, klasa musi zaimplementować
ITestInvocationListener
który pozwala odbierać i obsługiwać różne etapy
wywołanie:
invocationStarted
invocationEnded
invocationFailed
Raporty wyników obsługują też różne etapy każdego testu:
testRunStarted
testStarted
testFailed
lubtestIgnored
testEnded
testRunFailed
testRunEnded
Biorąc pod uwagę wszystkie te zdarzenia, wyróżniamy 2 główne typy osób zajmujących się raportowaniem wyników:
- Skup się tylko na raportowaniu ostatecznych wyników.
- podejmować działań na podstawie częściowych wyników.
Raportujący wyniki, który podaje ostateczne wyniki
Jest to najczęstszy przypadek interakcji z zewnętrzną usługą, która otrzymuje wyniki. Osoba zgłaszająca po prostu otrzymuje i gromadzi
a następnie wysyła je wszystkie w invocationEnded
do punktu końcowego wyniku.
Zalecamy tym osobom wydłużenie terminu na CollectingTestListener
podstawowego interfejsu, by uniknąć ponownego wdrażania zapisywania i przechowywania
wyników do invocationEnded
.
Zgłaszający wyniki, który zgłasza częściowe wyniki
Ten typ jest zwykle używany do strumieniowego przesyłania wyników, gdy są od razu odbierane i wysyłane do innych miejsc. Do tego typu należy na przykład reporter, który rejestruje wyniki w konsoli.
Ten typ zależy od tego, jaki typ obsługi jest wymagany w przypadku zdarzeń. Zazwyczaj zaleca się implementowanie interfejsu podstawowego.
Konfiguracja XML
Tag obiektu to result_reporter
. Na przykład:
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>