Configurer des tests unitaires
Cette section fournit des exemples de configuration des tests unitaires pour vérifier que votre application interagit avec les états d'application saisis, comme prévu.
Étape 1: Configurez vos classes pour qu'elles acceptent KeyedAppStatesReporter
comme paramètre
Au lieu d'appeler directement create()
, modifiez vos classes pour qu'elles acceptent
KeyedAppStatesReporter
en tant que paramètre, comme dans l'exemple BatteryManager
.
classe ci-dessous:
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); } }
Utilisez ensuite KeyedAppStatesReporter.create
pour obtenir une instance à transmettre
partout où BatteryManager
est créé.
Étape 2: Ajoutez la bibliothèque de tests de commentaires d'entreprise à votre fichier build.gradle
Ajoutez la dépendance suivante au fichier
Fichier build.gradle
:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Étape 3: Créez un FakeKeyedAppStatesReporter
et transmettez-le à votre classe
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
Java
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
Étape 4: Validez les interactions avec FakeKeyedAppStatesReporter
Par exemple, pour vérifier qu'aucun état n'a été défini:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
Ou que l'importation d'un État particulier a été demandée:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Envoyer des commentaires à l'outil DPC de test
Exemple d'outil de contrôle des règles relatives aux appareils appelé DPC de test, est capable de recevoir des commentaires sur l'application et est disponible pour télécharger.
Étape 1: Installer l'outil DPC de test
Installez la dernière version de l'outil Test DPC. sur le Play Store. Ensuite, définissez l'outil Test DPC en tant qu'administrateur de l'appareil:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
Étape 2: Activez les notifications de commentaires de l'application
Dans le menu "Test DPC" (Test de l'outil de contrôle des règles), activez App feedback notifications (Notifications de commentaires sur l'application).
![activer les notifications](https://developer.android.google.cn/static/images/work/test-dpc-screenshot.png?authuser=0000&hl=fr)
Déclenchez un événement qui définit un état d'application à clé. Si l'opération réussit, l'outil DPC de test affiche le commentaire dans les notifications:
![commentaires affichés](https://developer.android.google.cn/static/images/work/feedback-notification.png?authuser=0000&hl=fr)