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ặctestIgnored
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>