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: