Configurer des tests unitaires
Cette section fournit des exemples de configuration de tests unitaires pour vérifier que votre application interagit comme prévu avec les états d'application associés.
Étape 1: Configurez vos classes pour qu'elles acceptent KeyedAppStatesReporter
en tant que 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 de classe BatteryManager
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 qu'une instance soit transmise partout où BatteryManager
est créé.
Étape 2: Ajoutez la bibliothèque de test Enterprise Feedback à votre fichier build.gradle
Ajoutez la dépendance suivante au fichier build.gradle
de votre application:
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: Confirmez 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 les commentaires du test à Test DPC
Un exemple d'outil de contrôle des règles relatives aux appareils, appelé Test DPC, peut recevoir des commentaires sur les applications et peut être téléchargé.
Étape 1: Installez le DPC test
Installez la dernière version de l'outil Test DPC depuis le Play Store. Ensuite, définissez Test DPC comme administrateur de l'appareil:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
Étape 2: Activez les notifications de commentaires sur l'application
Dans le menu de l'outil de contrôle des règles relatives à l'application, activez Notifications de commentaires sur l'application.
![activer les notifications](https://developer.android.com/static/images/work/test-dpc-screenshot.png?authuser=8&hl=fr)
Déclenchez un événement qui définit un état d'application à clé. Si l'opération réussit, l'outil Test DPC affiche les commentaires dans les notifications:
![commentaire affiché](https://developer.android.com/static/images/work/feedback-notification.png?authuser=8&hl=fr)