Konfigurowanie testów jednostkowych
Ta sekcja zawiera przykłady konfigurowania testów jednostkowych, które pozwalają sprawdzić, czy Twoja aplikacja współpracuje z z zastosowaniem odpowiednich stanów aplikacji.
Krok 1. Skonfiguruj zajęcia, aby akceptowały KeyedAppStatesReporter
jako parametr
Zamiast bezpośrednio wywoływać create()
, zmodyfikuj zajęcia, aby je zaakceptować
KeyedAppStatesReporter
jako parametr, jak w przykładzie BatteryManager
.
zajęcia poniżej:
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); } }
Następnie użyj polecenia KeyedAppStatesReporter.create
, aby pobrać instancję
wszędzie tam, gdzie tworzony jest element BatteryManager
.
Krok 2. Dodaj do pliku build.gradle
bibliotekę testów opinii firmowych
Dodaj tę zależność do parametru aplikacji
Plik build.gradle
:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Krok 3. Utwórz zadanie FakeKeyedAppStatesReporter
i przekaż je na zajęcia
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
Java
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
Krok 4. Zgłoś interakcje za pomocą funkcji FakeKeyedAppStatesReporter
Aby na przykład sprawdzić, czy nie ustawiono żadnych stanów:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
Inny przykład informację o tym, że zażądano przesłania konkretnego stanu:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Prześlij opinię, aby przetestować DPC
Przykładowy kontroler zasad dotyczących urządzeń. który może odbierać opinie z aplikacji i jest dostępny pobierz.
Krok 1. Zainstaluj testową wersję DPC
Zainstaluj najnowszą wersję Test DPC. w Sklepie Play. Następnie ustaw Testową wersję DPC jako administratora urządzenia:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
Krok 2. Włącz powiadomienia z opiniami o aplikacji
W menu Test DPC włącz Powiadomienia z opiniami o aplikacji.
Wywołaj zdarzenie ustawiające stan aplikacji z kluczem. Jeśli się uda, wyświetli się testowy komunikator DPC opinie w powiadomieniach: