Thiết lập kiểm thử đơn vị
Phần này đưa ra các ví dụ về cách thiết lập chương trình kiểm thử đơn vị để kiểm tra xem ứng dụng của bạn có tương tác với các trạng thái ứng dụng theo khoá như mong đợi hay không.
Bước 1: Thiết lập các lớp để chấp nhận KeyedAppStatesReporter
dưới dạng tham số
Thay vì gọi trực tiếp create()
, hãy sửa đổi các lớp của bạn để chấp nhận KeyedAppStatesReporter
dưới dạng tham số như trong lớp BatteryManager
mẫu 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ể truyền vào bất cứ nơi nào BatteryManager
được tạo.
Bước 2: Thêm thư viện kiểm thử phản hồi của 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
của ứng dụng:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Bước 3: Tạo FakeKeyedAppStatesReporter
và truyền mã này 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 bạn chưa đặt trạng thái nào, hãy làm như sau:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
Hoặc một trạng thái 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 ý kiến phản hồi về quá trình kiểm thử cho DPC kiểm thử
Trình kiểm soát chính sách thiết bị mẫu (được gọi là DPC kiểm thử) có thể nhận phản hồi về ứng dụng và có thể tải xuống.
Bước 1: Cài đặt DPC kiểm thử
Cài đặt phiên bản Test DPC mới nhất từ Cửa hàng Play. Tiếp theo, hãy đặt Test DPC 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 Test 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 đặt trạng thái ứng dụng được khoá. Nếu thành công, DPC kiểm thử sẽ hiển thị phản hồi trong thông báo: