Einheitentests einrichten
Dieser Abschnitt enthält Beispiele für die Einrichtung von Unittests, um zu prüfen, ob Ihre App mit codierten App-Status wie erwartet.
Schritt 1: Klassen so einrichten, dass KeyedAppStatesReporter
als Parameter akzeptiert wird
Anstatt create()
direkt aufzurufen, ändern Sie Ihre Kurse so, dass sie akzeptiert werden.
KeyedAppStatesReporter
als Parameter wie im Beispiel BatteryManager
.
Klasse unten:
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); } }
Verwenden Sie als Nächstes KeyedAppStatesReporter.create
, um eine zu übergebende Instanz abzurufen.
überall dort, wo BatteryManager
erstellt wird.
Schritt 2: Der build.gradle
-Datei die Testbibliothek für Unternehmensfeedback hinzufügen
Fügen Sie die folgende Abhängigkeit zum
build.gradle
-Datei:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Schritt 3: FakeKeyedAppStatesReporter
erstellen und an Ihren Kurs übergeben
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
Java
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
Schritt 4: Interaktionen mit FakeKeyedAppStatesReporter
bestätigen
So prüfen Sie beispielsweise, ob keine Status festgelegt wurden:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
Oder dass ein bestimmter Bundesstaat zum Hochladen angefordert wurde:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Testfeedback an Test-DPC senden
Ein Beispiel für einen Device Policy Controller Test-DPC genannt, kann App-Feedback erhalten und steht herunterladen.
Schritt 1: Test-DPC installieren
Installieren Sie die neueste Version von Test DPC. aus dem Play Store. Legen Sie als Nächstes Test-DPC als Administrator des Geräts fest:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
Schritt 2: App-Feedback-Benachrichtigungen aktivieren
Aktivieren Sie im Menü von Test-DPC die Option App-Feedback-Benachrichtigungen.
![Benachrichtigungen aktivieren](https://developer.android.google.cn/static/images/work/test-dpc-screenshot.png?authuser=9&hl=de)
Ein Ereignis auslösen, das einen verschlüsselten App-Status festlegt. Bei Erfolg wird Test-DPC angezeigt. Feedback in den Benachrichtigungen:
![Feedback angezeigt](https://developer.android.google.cn/static/images/work/feedback-notification.png?authuser=9&hl=de)