Buat reporter hasil

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 atau testIgnored
  • 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>