Halaman ini menjelaskan dasar-dasar cara menerapkan pelapor hasil baru dan mengonfigurasinya untuk pengujian.
Antarmuka inti
Untuk menentukan pelapor hasil baru di Tradefed, class harus mengimplementasikan
antarmuka
ITestInvocationListener
yang memungkinkan penerimaan dan penanganan berbagai tahap
pemanggilan:
invocationStarted
invocationEnded
invocationFailed
Reporter hasil juga menangani berbagai tahap dari setiap pengujian:
testRunStarted
testStarted
testFailed
atautestIgnored
testEnded
testRunFailed
testRunEnded
Dengan semua peristiwa ini, ada dua jenis utama pelapor hasil, yaitu:
- Hanya peduli dengan pelaporan hasil akhir yang lengkap.
- Ambil tindakan pada hasil parsial.
Pelapor hasil yang melaporkan hasil lengkap akhir
Jenis ini adalah kasus yang paling umum dalam hal berinteraksi dengan layanan
eksternal yang menerima hasilnya. Pelapor hanya menerima dan mengumpulkan
hasil, lalu mengirim semuanya di invocationEnded
ke endpoint hasil.
Sebaiknya reporter tersebut memperluas CollectingTestListener
, bukan
antarmuka dasar, untuk menghindari implementasi kembali penyimpanan dan
penyimpanan hasil hingga invocationEnded
.
Pelapor hasil yang melaporkan hasil parsial
Jenis ini biasanya digunakan untuk pendekatan streaming hasil, saat hasil diterima dan langsung dikirim ke beberapa tempat lain. Misalnya, pelapor yang mencatat hasil ke konsol akan berupa jenis ini.
Jenis ini khusus untuk jenis penanganan yang diperlukan pada peristiwa, sehingga mengimplementasikan antarmuka dasar biasanya merupakan cara yang direkomendasikan.
Konfigurasi XML
Tag objek adalah result_reporter
. Contoh:
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>