Trang này mô tả những điều 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 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 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ời gọi:
invocationStartedinvocationEndedinvocationFailed
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:
testRunStartedtestStartedtestFailedhoặctestIgnoredtestEndedtestRunFailedtestRunEnded
Với tất cả các sự kiện này, có 2 loại trình 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ành động dựa trên kết quả từng 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ỹ 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 để những trình báo cáo đó mở rộng CollectingTestListener thay vì giao diện cơ sở để tránh việc triển khai lại việc lưu và lưu trữ kết quả cho đến khi invocationEnded.
Trình báo cáo kết quả báo cáo kết quả từng phần
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ụ: trình báo cáo ghi lại 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>