Sonuç raporlayıcı 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 yönetir:

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

Tüm bu etkinlikler göz önüne alındığında, iki temel sonuç raporlama türü vardır:

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

Nihai toplam 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. Raporlayan, sonuçları alır ve toplar, ardından invocationEnded üzerinden tümünü 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 sonuçların akış yaklaşımı için kullanılır. Bu yaklaşımda sonuçlar alınır ve hemen başka yerlere gönderilir. Örneğin, sonuçları konsola kaydeden bir raporlama aracısı bu türde olur.

Bu tür, etkinliklerde hangi işleme türünün gerekli olduğuna özeldir. Bu nedenle, temel arayüzün uygulanması genellikle ö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>