Menyiapkan pengujian unit
Bagian ini memberikan contoh cara menyiapkan pengujian unit untuk memeriksa apakah aplikasi Anda berinteraksi dengan status aplikasi terkunci seperti yang diharapkan.
Langkah 1: Siapkan class untuk menerima KeyedAppStatesReporter
sebagai parameter
Daripada memanggil create()
secara langsung, ubah class untuk menerima
KeyedAppStatesReporter
sebagai parameter seperti dalam contoh class BatteryManager
di bawah:
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); } }
Selanjutnya, gunakan KeyedAppStatesReporter.create
untuk mendapatkan instance yang akan diteruskan
di mana pun BatteryManager
dibuat.
Langkah 2: Tambahkan library pengujian masukan perusahaan ke file build.gradle
Anda
Tambahkan dependensi berikut ke file build.gradle
aplikasi Anda:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Langkah 3: Buat FakeKeyedAppStatesReporter
dan teruskan ke kelas Anda
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
Java
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
Langkah 4: Nyatakan interaksi dengan FakeKeyedAppStatesReporter
Misalnya, untuk memeriksa apakah tidak ada negara bagian yang ditetapkan:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
Atau negara bagian tertentu telah diminta untuk diupload:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Mengirim masukan pengujian ke DPC Pengujian
Contoh pengontrol kebijakan perangkat, disebut Test DPC, yang mampu menerima masukan aplikasi dan tersedia untuk didownload.
Langkah 1: Instal DPC Pengujian
Instal versi terbaru Test DPC dari Play Store. Berikutnya, tetapkan DPC Pengujian sebagai admin perangkat:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
Langkah 2: Aktifkan Notifikasi masukan aplikasi
Di menu Test DPC, aktifkan Notifikasi masukan aplikasi.
![aktifkan notifikasi](https://developer.android.com/static/images/work/test-dpc-screenshot.png?authuser=8&hl=id)
Memicu peristiwa yang menetapkan status aplikasi terkunci. Jika berhasil, DPC Pengujian akan menampilkan masukan di notifikasi:
![masukan ditampilkan](https://developer.android.com/static/images/work/feedback-notification.png?authuser=8&hl=id)