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
lubtestIgnored
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>