Bagian ini menjelaskan dasar-dasar cara menerapkan reporter hasil baru dan mengonfigurasinya untuk pengujian.
Antarmuka inti
Untuk mendefinisikan reporter hasil baru di Tradefed, sebuah kelas harus mengimplementasikan antarmuka ITestInvocationListener yang memungkinkan menerima dan menangani berbagai tahapan pemanggilan:
- doa dimulai
- doaBerakhir
- doa gagal
Reporter hasil juga menangani tahapan yang berbeda dari setiap uji coba:
- testRunStarted
- tesDimulai
- testFailed/testIgnored
- tesBerakhir
- testRunFailed
- testRunEnd
Mengingat semua peristiwa ini, ada dua jenis utama reporter hasil, yaitu:
- Peduli hanya tentang melaporkan hasil akhir yang lengkap.
- Mengambil tindakan pada hasil parsial.
Reporter Hasil yang melaporkan hasil akhir yang lengkap
Jenis ini adalah kasus yang paling umum ketika berinteraksi dengan layanan eksternal yang menerima hasil. Reporter hanya menerima dan mengakumulasikan hasilnya dan kemudian mengirimkan semuanya pada invocationEnded
ke titik akhir hasil.
Direkomendasikan reporter tersebut memperluas CollectingTestListener
alih-alih antarmuka dasar untuk menghindari penerapan ulang penyimpanan dan penyimpanan hasil hingga invocationEnded
.
Reporter Hasil yang melaporkan sebagian hasil
Jenis ini biasanya digunakan untuk pendekatan streaming hasil, ketika hasil diterima dan didorong ke beberapa tempat lain segera. Misalnya, reporter yang mencatat hasil ke konsol akan menjadi tipe ini.
Jenis ini khusus untuk jenis penanganan yang diperlukan pada peristiwa, jadi mengimplementasikan antarmuka dasar biasanya merupakan cara yang disarankan.
konfigurasi XML
Tag objek akan menjadi result_reporter
. Sebagai contoh:
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>