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.
![habilitar notificaciones](https://developer.android.google.cn/static/images/work/test-dpc-screenshot.png?authuser=002&hl=es)
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:
![se muestran comentarios](https://developer.android.google.cn/static/images/work/feedback-notification.png?authuser=002&hl=es)