Cómo configurar pruebas de unidades
En esta sección, se proporcionan ejemplos de cómo configurar pruebas de unidades para verificar que tu app interactúe con los estados de la app con clave como se espera.
Paso 1: Configura tus clases para que acepten KeyedAppStatesReporter
como parámetro
En lugar de llamar directamente a create()
, modifica tus clases para que acepten KeyedAppStatesReporter
como parámetro, como en la clase BatteryManager
de ejemplo a continuación:
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); } }
A continuación, usa KeyedAppStatesReporter.create
para obtener una instancia a fin de pasar donde se cree BatteryManager
.
Paso 2: Agrega la biblioteca de pruebas de comentarios para empresas al archivo build.gradle
Agrega la siguiente dependencia al archivo build.gradle
de tu app:
dependencies { testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0' }
Paso 3: Crea un FakeKeyedAppStatesReporter
y pásalo a la 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, ejecuta el siguiente comando:
Kotlin
assertThat(reporter.keyedAppStates).isEmpty();
Java
assertThat(reporter.getKeyedAppStates()).isEmpty();
O bien, que se solicitó la carga de un estado en particular:
Kotlin
assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
Java
assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();
Envía comentarios para probar el DPC
Un controlador de política de dispositivo de muestra, llamado DPC de prueba, puede recibir comentarios sobre la app y está disponible para descargar.
Paso 1: Instala el DPC de prueba
Instala la versión más reciente de Test DPC desde Play Store. Luego, configura Test DPC como administrador del dispositivo:
adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
Paso 2: Habilita las notificaciones de comentarios sobre la app
En el menú "Test DPC", habilita App feedback notifications.
Activar un evento que establezca un estado de app con clave Si se ejecuta de forma correcta, el DPC de prueba mostrará los comentarios en las notificaciones: