Commentaires sur les applications de test

Après avoir mis à jour votre application pour permettre l'envoi de commentaires sous la forme d'états d'application à clé, vous pouvez suivre les instructions de cette page pour configurer des tests unitaires et envoyer des commentaires de test à un outil de contrôle des règles relatives aux appareils de test (DPC).

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 Collection states = 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

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é