Tworzenie raportu dotyczącego wyników

Na tej stronie znajdziesz podstawowe informacje o tym, jak wdrożyć nowy moduł raportowania wyników i skonfigurować go na potrzeby testu.

Interfejs podstawowy

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

  • invocationStarted
  • invocationEnded
  • invocationFailed

Reporterzy 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 reporterów wyników:

  • Zależy Ci tylko na raportowaniu ostatecznych, pełnych wyników.
  • podejmować działania na podstawie częściowych wyników.

Reporter wyników, który zgłasza ostateczne, pełne wyniki

Ten typ jest najczęstszy w przypadku interakcji z usługą zewnętrzną, która otrzymuje wyniki. Raportujący po prostu otrzymuje i gromadzi wyniki, a następnie wysyła je wszystkie na invocationEnded do punktu końcowego wyników.

Zalecamy, aby te raporty rozszerzały interfejs CollectingTestListener zamiast interfejsu podstawowego, aby uniknąć ponownego wdrażania zapisywania i przechowywania wyników do czasu invocationEnded.

reporter wyników, który zgłasza częściowe wyniki;

Ten typ jest zwykle używany w przypadku przesyłania strumieniowego wyników, gdy są one odbierane i od razu przesyłane w inne miejsca. Na przykład reporter, który rejestruje wyniki w konsoli, będzie tego typu.

Ten typ jest specyficzny dla rodzaju obsługi wymaganej w przypadku zdarzeń, dlatego zalecanym sposobem jest zwykle implementacja 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>