Konfigurowanie testów jednostkowych
W tej sekcji znajdziesz przykłady konfigurowania testów jednostkowych pod kątem sprawdzania, czy aplikacja współdziała ze stanami aplikacji jako kluczem zgodnie z oczekiwaniami.
Krok 1. Skonfiguruj zajęcia tak, aby akceptowały parametr KeyedAppStatesReporter
Zamiast bezpośrednio wywoływać create()
, zmodyfikuj klasy tak, aby akceptowały parametr KeyedAppStatesReporter
, jak w przykładowej klasie BatteryManager
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 wywołania KeyedAppStatesReporter.create
, aby pobrać instancję w miejscu, w którym jest tworzony BatteryManager
.
Krok 2. Dodaj do pliku build.gradle
bibliotekę do testowania opinii firmy
Dodaj tę zależność do pliku build.gradle
aplikacji:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Krok 3. Utwórz zadanie FakeKeyedAppStatesReporter
i przekaż je uczniom
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
Java
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
Krok 4. Zgłoś interakcje z usługą FakeKeyedAppStatesReporter
Aby np. sprawdzić, czy nie ustawiono żadnych stanów:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
Lub gdy zażądano przesłania informacji o konkretnym stanie:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Wyślij opinię testową do Test DPC
Przykładowy kontroler zasad dotyczących urządzeń o nazwie Test DPC może odbierać opinie o aplikacji i można go pobrać.
Krok 1. Zainstaluj testowy plik DPC
Zainstaluj najnowszą wersję gry Test DPC ze Sklepu Play. Następnie ustaw Test DPC jako administratora urządzenia:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
Krok 2. Włącz powiadomienia o opiniach dotyczących aplikacji
W menu Test DPC włącz Powiadomienia o opiniach o aplikacji.
![włącz powiadomienia](https://developer.android.com/static/images/work/test-dpc-screenshot.png?authuser=7&hl=pl)
Wywoływanie zdarzenia, które ustawia stan aplikacji z kluczem. Jeśli test się powiedzie, DPC wyświetli opinię w powiadomieniach:
![wyświetlana opinia](https://developer.android.com/static/images/work/feedback-notification.png?authuser=7&hl=pl)