Tworzenie raportu dotyczącego wyników

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 lub testIgnored
  • 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>