Utwórz raport wyników

Na tej stronie opisano podstawy wdrażania nowego modułu raportującego wyniki i konfigurowania go na potrzeby testu.

Podstawowy interfejs

Aby zdefiniować nowy reporter wyników w Tradefed, klasa musi implementować interfejs ITestInvocationListener , który umożliwia odbieranie i obsługę różnych etapów wywołania:

  • invocationStarted
  • invocationEnded
  • invocationFailed

Reporterzy wyników zajmują się także różnymi etapami każdego przebiegu testu:

  • testRunStarted
  • testStarted
  • testFailed lub testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

Biorąc pod uwagę wszystkie te zdarzenia, istnieją dwa główne typy osób zgłaszających wyniki: takich, którzy:

  • Dbaj tylko o raportowanie ostatecznych, pełnych wyników.
  • Podejmij działania w przypadku częściowych wyników.

Reporter wyników, który raportuje końcowe, kompletne wyniki

Ten typ jest najczęstszym przypadkiem interakcji z usługą zewnętrzną, która otrzymuje wyniki. Reporter po prostu odbiera i gromadzi wyniki, a następnie wysyła je wszystkie po invocationEnded do punktu końcowego wyniku.

Zalecamy, aby ci reporterzy rozszerzyli CollectingTestListener zamiast interfejsu podstawowego, aby uniknąć ponownego wdrażania zapisywania i przechowywania wyników do czasu invocationEnded .

Reporter wyników, który raportuje wyniki częściowe

Ten typ jest zwykle używany do strumieniowego przesyłania wyników, gdy wyniki są odbierane i od razu przesyłane do innych miejsc. Na przykład reporter rejestrujący wyniki w konsoli będzie tego typu.

Ten typ zależy od tego, jaki typ obsługi zdarzeń jest wymagany, dlatego zazwyczaj zaleca się wdrożenie interfejsu podstawowego.

Konfiguracja XML

Znacznik obiektu result_reporter . Na przykład:

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
    <option name="suppress-passed-tests" value="true"/>
</result_reporter>