Thiết lập kiểm thử đơn vị
Phần này đưa ra ví dụ về cách thiết lập các bài kiểm thử đơn vị để kiểm tra xem ứng dụng của bạn có tương tác với trạng thái ứng dụng có khoá như dự kiến.
Bước 1: Thiết lập các lớp để chấp nhận KeyedAppStatesReporter
dưới dạng thông số
Thay vì gọi trực tiếp create()
, hãy sửa đổi các lớp để chấp nhận
KeyedAppStatesReporter
làm tham số như trong ví dụ BatteryManager
lớp bên dưới:
Kotlin
class BatteryManager(val reporter:KeyedAppStatesReporter) { fun lowBattery(battery:Int) { reporter.setStatesImmediate( hashSetOf(KeyedAppState.builder() .setKey("battery") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("Battery is low") .setData(battery.toString()) .build())) } }
Java
public class BatteryManager { private final KeyedAppStatesReporter reporter; public BatteryManager(KeyedAppStatesReporter reporter) { this.reporter = reporter; } public void lowBattery(int battery) { final Collectionstates = new HashSet<>(); states.add(KeyedAppState.builder() .setKey("battery") .setSeverity(KeyedAppState.SEVERITY_INFO) .setMessage("Battery is low") .setData(Integer.toString(battery)) .build(); reporter.setStatesImmediate(states); } }
Tiếp theo, hãy sử dụng KeyedAppStatesReporter.create
để lấy một thực thể cần truyền
bất cứ nơi nào BatteryManager
được tạo.
Bước 2: Thêm thư viện thử nghiệm phản hồi cho doanh nghiệp vào tệp build.gradle
Hãy thêm phần phụ thuộc sau đây vào
Tệp build.gradle
:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Bước 3: Tạo một FakeKeyedAppStatesReporter
rồi truyền vào lớp của bạn
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
Java
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
Bước 4: Xác nhận hoạt động tương tác với FakeKeyedAppStatesReporter
Ví dụ: để kiểm tra nhằm đảm bảo rằng chưa có trạng thái nào được đặt:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
Hoặc một tiểu bang cụ thể đã được yêu cầu tải lên:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Gửi phản hồi kiểm thử tới DPC Test DPC
Trình kiểm soát chính sách thiết bị mẫu, có tên Test DPC, có khả năng nhận phản hồi từ ứng dụng và có sẵn cho tải xuống.
Bước 1: Cài đặt DPC kiểm thử
Cài đặt phiên bản mới nhất của Test DPC từ Cửa hàng Play. Tiếp theo, đặt DPC kiểm thử làm quản trị viên của thiết bị:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
Bước 2: Bật thông báo phản hồi về ứng dụng
Trong trình đơn của Kiểm thử DPC, hãy bật Thông báo phản hồi của ứng dụng.
Kích hoạt một sự kiện thiết lập trạng thái khoá cho ứng dụng. Nếu thành công, DPC kiểm thử sẽ hiển thị phản hồi trong thông báo: