Tworzenie raportującego wyniki

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ą generowane na różnych etapach każdego testu:

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

Wśród wszystkich tych zdarzeń występują 2 główne typy zgłaszanych wyników:

  • Skup się tylko na raportowaniu ostatecznych wyników.
  • podejmować działań na podstawie częściowych wyników.

Raport z wynikami, który zawiera ostateczne wyniki.

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

Zalecamy tym raportom rozszerzenie CollectingTestListener zamiast interfejsu podstawowego, aby uniknąć ponownego wdrażania zapisywania i przechowywania wyników do invocationEnded.

Zgłaszający wyniki, który przekazuje wyniki częściowe

Ten typ jest zwykle używany do strumieniowego przesyłania wyników, gdy wyniki są od razu odebrane i przekazywane do innych miejsc. Do tego typu należy na przykład reporter, który rejestruje wyniki w konsoli.

Ten typ zależy od rodzaju obsługi zdarzeń, więc implementacja interfejsu podstawowego jest zwykle zalecanym sposobem.

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>