Bir sonuç raporlayıcısı oluşturun

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

Çekirdek arayüz

Tradefed'de yeni bir sonuç raporlayıcı tanımlamak için bir sınıfın, çağrının farklı aşamalarının alınmasına ve işlenmesine izin veren ITestInvocationListener arayüzünü uygulaması gerekir:

  • invocationStarted
  • invocationEnded
  • invocationFailed

Sonuç raportörleri ayrıca her test çalışmasının farklı aşamalarını da yönetir:

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

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

  • Yalnızca nihai tam sonuçların raporlanmasına önem verin.
  • Kısmi sonuçlara göre harekete geçin.

Nihai tam sonuçları raporlayan sonuç raporlayıcısı

Bu tür, sonuçları alan harici bir hizmetle etkileşim söz konusu olduğunda en yaygın durumdur. Muhabir basitçe sonuçları alır ve biriktirir ve ardından hepsini invocationEnded ile sonuç uç noktasına gönderir.

Bu raporlayıcıların, sonuçların invocationEnded kadar kaydedilmesini ve saklanmasını yeniden uygulamaktan kaçınmak için temel arayüz yerine CollectingTestListener genişletmelerini öneririz.

Kısmi sonuçları raporlayan sonuç raporlayıcısı

Bu tür genellikle sonuçların alınıp hemen başka yerlere iletildiği sonuçların akış yaklaşımı için kullanılır. Örneğin sonuçları konsola kaydeden bir raportör bu türden olacaktır.

Bu tür, olaylarda hangi tür işlemenin gerekli olduğuna özeldir, dolayısıyla temel arayüzün uygulanması genellikle önerilen yoldur.

XML yapılandırması

Nesne etiketi result_reporter . Örneğin:

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