Halaman ini menjelaskan dasar-dasar cara menerapkan pelapor hasil baru dan mengonfigurasinya untuk pengujian.
Antarmuka inti
Untuk menentukan pelapor hasil baru di Tradefed, kelas harus mengimplementasikan antarmuka ITestInvocationListener
yang memungkinkan penerimaan dan penanganan tahapan pemanggilan yang berbeda:
-
invocationStarted
-
invocationEnded
-
invocationFailed
Pelapor hasil juga menangani tahapan berbeda dari setiap uji coba:
-
testRunStarted
-
testStarted
-
testFailed
atautestIgnored
-
testEnded
-
testRunFailed
-
testRunEnded
Mengingat semua peristiwa ini, ada dua jenis pelapor hasil utama, yaitu:
- Hanya peduli tentang melaporkan hasil akhir yang lengkap.
- Ambil tindakan berdasarkan hasil parsial.
Pelapor hasil yang melaporkan hasil akhir yang lengkap
Jenis ini adalah kasus paling umum ketika berinteraksi dengan layanan eksternal yang menerima hasilnya. Pelapor hanya menerima dan mengumpulkan hasilnya dan kemudian mengirimkan semuanya pada invocationEnded
ke titik akhir hasil.
Kami menyarankan agar pelapor tersebut memperluas CollectingTestListener
alih-alih antarmuka dasar untuk menghindari penerapan ulang penyimpanan dan penyimpanan hasil hingga invocationEnded
.
Pelapor hasil yang melaporkan sebagian hasil
Tipe ini biasanya digunakan untuk pendekatan streaming hasil, ketika hasil diterima dan langsung dikirim ke beberapa tempat lain. Misalnya, reporter yang mencatat hasil ke konsol adalah tipe ini.
Tipe ini khusus untuk tipe penanganan yang diperlukan pada kejadian, jadi mengimplementasikan antarmuka dasar biasanya merupakan cara yang disarankan.
Konfigurasi XML
Tag objeknya adalah result_reporter
. Misalnya:
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>