Menyiapkan pengujian unit
Bagian ini memberikan contoh cara menyiapkan pengujian unit untuk memeriksa apakah aplikasi Anda berinteraksi dengan status aplikasi yang terkunci seperti yang diharapkan.
Langkah 1: Siapkan kelas untuk menerima KeyedAppStatesReporter
sebagai parameter
Daripada memanggil create()
secara langsung, ubah kelas Anda untuk menerima
KeyedAppStatesReporter
sebagai parameter seperti dalam contoh BatteryManager
di bawah ini:
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 dependensi aplikasi Anda
File build.gradle
:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Langkah 3: Buat FakeKeyedAppStatesReporter
dan teruskan ke class 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 bahwa tidak ada status yang ditetapkan:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
Atau bahwa 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, yang disebut {i>Test DPC<i}, mampu menerima masukan aplikasi dan tersedia untuk yang didownload.
Langkah 1: Instal DPC Pengujian
Instal Test DPC versi terbaru 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.
Memicu peristiwa yang menetapkan status aplikasi yang dikunci. Jika berhasil, DPC Pengujian akan menampilkan masukan di dalam notifikasi: