Trang này mô tả những điều 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 trình báo cáo đó cho một thử nghiệm.
Giao diện cốt lõi
Để xác định một 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 kiểm thử:
testRunStarted
testStarted
testFailed
hoặctestIgnored
testEnded
testRunFailed
testRunEnded
Với 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:
- Chỉ quan tâm đến việc báo cáo kết quả cuối cùng.
- Xử lý dựa trên 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 luỹ các kết quả, sau đó gửi tất cả kết quả đó trên invocationEnded
đến điểm cuối kết quả.
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 dùng cho phương pháp phát 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 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ý cần thiết trên 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>