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

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

Giao diện cốt lõi

Để 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 thời gian ITestInvocationListener cho phép nhận và xử lý các giai đoạn khác nhau của lời 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

Dựa vào tất cả những sự kiện này, có 2 loại trình báo cáo kết quả chính:

  • 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.
  • Thực hiện thao tác đối với 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

Đây là trường hợp phổ biến nhất khi tương tác với nhận kết quả. Người báo cáo chỉ nhận và tích luỹ kết quả rồi gửi tất cả trên invocationEnded đến điểm cuối kết quả.

Thay vào đó, những người báo cáo đó nên mở rộng CollectingTestListener của giao diện cơ sở để tránh phải triển khai lại thao tá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 sử dụng cho phương pháp phân luồng kết quả khi kết quả sẽ được nhận và đẩy tới một số nơi khác ngay lập tức. Ví dụ: một phóng viên ghi nhật ký kết quả vào bảng điều khiển sẽ thuộc loại này.

Đây là loại dành riêng cho loại xử lý được yêu cầu đối với các sự kiện. vì vậy, triển khai giao diện cơ sở thường là cách được đề xuất.

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>