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