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 Tradefed nowego raportera wyników, klasa musi implementować interfejs ITestInvocationListener
, który umożliwia odbieranie i obsługę różnych etapów wywołania:
invocationStarted
invocationEnded
invocationFailed
Raporty z wyników są też generowane na różnych etapach każdego testu:
testRunStarted
testStarted
testFailed
lubtestIgnored
testEnded
testRunFailed
testRunEnded
Wśród wszystkich tych zdarzeń wyróżniamy 2 główne typy raportów wyników:
- Pamiętaj, aby raportować tylko ostateczne wyniki.
- podejmować działania na podstawie częściowych wyników.
Raport o wynikach, który zawiera ostateczne wyniki.
Ten typ jest najczęstszy w przypadku interakcji z zewnętrznym usługą, która otrzymuje wyniki. Raportujący po prostu otrzymuje i gromadzi wyniki, a potem wysyła je za pomocą invocationEnded
do punktu końcowego wyników.
Zalecamy, aby autorzy raportów rozszerzyli CollectingTestListener
zamiast interfejsu podstawowego, aby uniknąć ponownego implementowania zapisywania i przechowywania wyników do czasu invocationEnded
.
Zgłaszanie częściowych wyników
Ten typ jest zwykle używany do strumieniowego przesyłania wyników, gdy wyniki są odbierane i natychmiast przesyłane do innych miejsc. Do tego typu należą na przykład skrypty raportujące, które zapisują 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>