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ğı ile ilgili temel bilgiler verilmektedir.

Temel arayüz

Tradefed'de yeni bir sonuç raporlayıcı tanımlamak için bir sınıfın, çağırma işleminin farklı aşamalarının alınmasına ve işlenmesine 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 ana sonuç muhabiri türü vardır:

  • Yalnızca nihai sonuçları bildirmekle ilgileniyorsanız.
  • Kısmi sonuçlarla ilgili işlem yapma.

Son sonuçları bildiren sonuç muhabiri

Bu tür, sonuçları alan harici bir hizmetle etkileşim söz konusu olduğunda en sık karşılaşılan durumdur. Raporu gönderen, sonuçları alır ve biriktirir. Ardından, invocationEnded tarihinde tüm sonuçları sonuç uç noktasına gönderir.

Bu raporcuların, sonuçların invocationEnded tarihine kadar kaydedilip depolanmasını yeniden uygulamamak için temel arayüz yerine CollectingTestListener arayüzünü genişletmelerini öneririz.

Kısmi sonuçları bildiren sonuç muhabiri

Bu tür genellikle sonuçlar alındığında ve hemen başka yerlere gönderildiğinde sonuçların yayınlanması için kullanılır. Örneğin, sonuçları konsola kaydeden bir muhabir bu türden olur.

Bu tür, etkinliklerde hangi tür işlemenin gerekli olduğuna bağlıdır. Bu nedenle, temel arayüzü uygulamak genellikle önerilen yöntemdir.

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>