Tạo báo cáo kết quả

Trang này mô tả thông tin 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 nó cho xét nghiệm.

Giao diện cốt lõi

Để xác định trình báo cáo kết quả mới trong Tradefed, 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 thử nghiệm:

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

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

  • Chỉ quan tâm đến việc báo cáo kết quả hoàn chỉnh cuối cùng.
  • Hãy hành động khi có kết quả một phần.

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 lũy kết quả rồi gửi tất cả chúng theo invocationEnded đến điểm cuối kết quả.

Chúng tôi khuyên những người báo cáo đó 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 kết quả một phần

Loại này thường được sử dụng cho phương pháp truyền phát kết quả, khi kết quả được nhận và đẩy đến một số nơi khác ngay lập tức. Ví dụ: một trình báo cáo ghi 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ý nào được yêu cầu đối với các sự kiện, vì vậy, việc 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>