Tạo trình báo cáo kết quả

Trang này mô tả các kiến thức cơ bản về cách triển khai trình báo cáo kết quả mới và định cấu hình trình báo cáo đó cho một kiểm thử.

Giao diện chính

Để xác định một trình báo cáo kết quả mới trong Tradefeed, một lớp phải triển khai giao diện ITestInvocationListener cho phép nhận và xử lý các giai đoạn khác nhau của lệnh gọi:

  • invocationStarted
  • invocationEnded
  • invocationFailed

Trình báo cáo kết quả cũng xử lý các giai đoạn khác nhau của mỗi lần chạy kiểm thử:

  • testRunStarted
  • testStarted
  • testFailed hoặc testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

Với tất cả các sự kiện này, có hai loại trình báo cáo kết quả chính, đó là:

  • Bạn chỉ nên quan tâm đến việc báo cáo kết quả hoàn chỉnh cuối cùng.
  • Xử lý một phần kết quả.

Trình báo cáo kết quả báo cáo kết quả hoàn chỉnh cuối cùng

Loại này là trường hợp phổ biến nhất khi tương tác với một dịch vụ bên ngoài nhận kết quả. Trình báo cáo chỉ cần nhận và tích luỹ kết quả, sau đó gửi tất cả kết quả trên invocationEnded đến điểm cuối kết quả.

Bạn nên mở rộng CollectingTestListener thay vì giao diện cơ sở để tránh triển khai lại việc lưu và lưu trữ kết quả cho đến invocationEnded.

Trình báo cáo kết quả báo cáo một phần kết quả

Loại này thường được dùng cho phương pháp truyền trực tuyến kết quả, khi kết quả được nhận và đẩy ngay đến một số nơi khác. Ví dụ: một trình báo cáo sẽ ghi nhật ký kết quả vào bảng điều khiển sẽ thuộc loại này.

Loại này dành riêng cho loại xử lý bắt buộc trên các sự kiện, vì vậy, bạn nên triển khai giao diện cơ sở.

Cấu hình XML

Thẻ đối tượng là result_reporter. Ví dụ:

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
    <option name="suppress-passed-tests" value="true"/>
</result_reporter>