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