Cómo configurar pruebas de unidades
En esta sección, se proporcionan ejemplos de cómo configurar pruebas de unidades para comprobar si tu app interactúa con con clave como se esperaba.
Paso 1: Configura tus clases para que acepten KeyedAppStatesReporter
como parámetro
En lugar de llamar directamente a create()
, modifica tus clases para que lo acepte
KeyedAppStatesReporter
como parámetro, como en el ejemplo BatteryManager
siguiente:
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); } }
Luego, usa KeyedAppStatesReporter.create
para que una instancia pase
donde se crea BatteryManager
.
Paso 2: Agrega la biblioteca de pruebas de comentarios de empresas a tu archivo build.gradle
Agrega la siguiente dependencia al archivo
Archivo build.gradle
:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Paso 3: Crea un FakeKeyedAppStatesReporter
y pásalo a tu clase
Kotlin
val reporter = FakeKeyedAppStatesReporter(); val batteryManager = BatteryManager(reporter);
Java
FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter(); BatteryManager batteryManager = new BatteryManager(reporter);
Paso 4: Confirma las interacciones con FakeKeyedAppStatesReporter
Por ejemplo, para verificar que no se hayan establecido estados, haz lo siguiente:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
O que se solicitó la carga de un estado en particular:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Enviar comentarios de prueba al DPC de prueba
Un ejemplo de controlador de política de dispositivo. llamado DPC de prueba, es capaz de recibir comentarios de la app y está disponible para descargar.
Paso 1: Instala el DPC de prueba
Instala la versión más reciente del DPC de prueba. en Play Store. A continuación, establece el DPC de prueba como administrador del dispositivo:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
Paso 2: Habilita las notificaciones de comentarios de la app
En el menú de DPC de prueba, habilita Notificaciones de comentarios de la app.
Activa un evento que establece un estado de app con clave. Si se realiza con éxito, se mostrará el DPC de prueba los comentarios en las notificaciones: