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

Reporter hasil juga menangani berbagai tahap dari setiap pengujian:

  • 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.
  • 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>