Membuat pelapor hasil

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

Pelapor hasil juga menangani berbagai tahap setiap pengujian yang dijalankan:

  • testRunStarted
  • testStarted
  • testFailed atau testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

Dengan semua peristiwa ini, ada dua jenis utama pelapor hasil, yaitu:

  • Hanya peduli dengan pelaporan hasil akhir yang lengkap.
  • Mengambil tindakan berdasarkan hasil sebagian.

Pelapor hasil yang melaporkan hasil akhir yang lengkap

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 pelapor tersebut memperluas CollectingTestListener, bukan antarmuka dasar, untuk menghindari penerapan ulang penyimpanan dan penyimpanan hasil hingga invocationEnded.

Pelapor hasil yang melaporkan hasil sebagian

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