Thử nghiệm có thể không thành công vì bất kỳ lý do gì và đôi khi chỉ cần chạy lại thử nghiệm là đủ để truyền lại (do độ không ổn định, chẳng hạn như từ các vấn đề trong cơ sở hạ tầng cơ bản). Bạn có thể định cấu hình Tradefeed để tiến hành thử lại tự động.
Điểm cốt lõi của tính năng tự động thử lại là tránh chạy lại tất cả các lượt kiểm thử; nó sẽ chạy lại chỉ những lần kiểm thử không thành công, giúp tiết kiệm đáng kể thời gian thực thi.
Tradefeed cũng hỗ trợ chạy thử nghiệm nhiều lần để phát hiện độ không ổn định thông qua tính năng vòng lặp. Trong trường hợp này, tất cả các thử nghiệm sẽ chạy lại và kiểm thử sẽ không thành công nếu có bất kỳ lần lặp nào không thành công.
Bật tính năng tự động thử lại
Việc thử lại tự động được kiểm soát thông qua
Đối tượngThử lạiQuyết định
đưa ra 2 tuỳ chọn để bật tính năng này: max-testcase-run-count
và retry-strategy
.
max-testcase-run-count
thúc đẩy số lần thử lại hoặc lặp lại sẽ
thử đã thực hiện. Phương thức này đặt giới hạn trên để tránh thử lại vĩnh viễn.
retry-strategy
thúc đẩy quyết định cách thử lại; hãy xem các phần sau
để biết thêm chi tiết.
Tắt tính năng tự động thử lại
Sử dụng tuỳ chọn sau:
--retry-strategy NO_RETRY
Thử lại không thành công
Để thử lại các lần kiểm thử không thành công, hãy sử dụng các tuỳ chọn sau:
--retry-strategy RETRY_ANY_FAILURE --max-testcase-run-count X
Thao tác này sẽ thử lại lỗi cho đến khi vượt qua hoặc cho đến khi đạt số lần thử lại tối đa tham gia, tuỳ vào điều kiện nào đến trước.
Lặp lại
Để chạy lại kiểm thử trong một khoảng thời gian, bạn có thể sử dụng các lựa chọn sau:
--retry-strategy ITERATIONS --max-testcase-run-count X
Kết quả như thế nào?
Theo mặc định, trình báo cáo kết quả sẽ nhận được kết quả tổng hợp của tất cả các lần thử.
Ví dụ: Fail
và Pass
cho RETRY_ANY_FAILURE
sẽ dẫn đến kết quả là
Pass
đã được tổng hợp vì lần thử lại được quản lý để xoá lỗi.
Người báo cáo có thể nhận được kết quả chưa được tổng hợp. Để làm như vậy, họ cần mở rộng Giao diện ISupportGranularKết quả tuyên bố hỗ trợ cho các kết quả chi tiết (không được tổng hợp).
Chi tiết triển khai
Để bật tính năng tự động thử lại nhằm chạy lại lỗi ở cấp trường hợp kiểm thử, hãy triển khai ITestFilterReceiver.
Nếu không thể triển khai ITestFilterReceiver, bạn có thể triển khai IAutoRetriableTest để kiểm soát thủ công cách hoạt động chạy lại. InstrumentationTest (Kiểm thử đo lường đã cài đặt) là một ví dụ về triển khai giao diện đó.