Membuat Reporter Hasil baru

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>