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