Sonuç raporlayıcısı oluşturma

Bu sayfada, yeni bir sonuç raporlayıcının nasıl uygulanacağı ve test için nasıl yapılandırılacağıyla ilgili temel bilgiler açıklanmaktadır.

Temel arayüz

Tradefed'de yeni bir sonuç raporlayıcı tanımlamak için sınıfın, çağrının farklı aşamalarını alıp işlemesine olanak tanıyan ITestInvocationListener arayüzünü uygulaması gerekir:

  • invocationStarted
  • invocationEnded
  • invocationFailed

Sonuç raporlayıcılar, her test çalıştırmasının farklı aşamalarını da ele alır:

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

Tüm bu olaylar göz önüne alındığında, iki ana sonuç raporlayıcı türü vardır:

  • Yalnızca nihai ve eksiksiz sonuçları raporlayın.
  • Kısmi sonuçlarla ilgili işlem yapın.

Nihai tamamlanmış sonuçları bildiren sonuç raporlayıcı

Sonuçları alan harici bir hizmetle etkileşime geçme söz konusu olduğunda bu tür en yaygın durumdur. Raportör, müşterinin ve sonra bunların tümünü invocationEnded üzerinde sonuç uç noktasına gönderir.

Bu raporlama araçlarının, sonuçları kaydetme ve depolama işlemini invocationEnded'a kadar yeniden uygulamamak için temel arayüz yerine CollectingTestListener'ü genişletmesini öneririz.

Kısmi sonuçları bildiren sonuç raporlayıcı

Bu tür genellikle bir sonuç akışı yaklaşımı için kullanılır. alınıp başka bir yere aktarılır. Örneğin, sonuçları konsola kaydeden bir raporlama aracısı bu türde olur.

Bu tür, etkinliklerde hangi tür işleme gerektiğine özeldir. Bu nedenle, genellikle temel arayüzü uygulamak önerilir.

XML yapılandırması

Nesne etiketi result_reporter. Örnek:

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