Uso la clase android.os.Handler para realizar tareas en segundo plano. Cuando la unidad prueba estos, llamo al Looper.loop()
para que el hilo de prueba espere a que el hilo de la tarea de fondo haga su trabajo. Más tarde, llamo al Looper.myLooper().quit()
(también en el hilo de prueba), para permitir que el hilo de prueba salga del loop
y reanude la lógica de prueba.¿Cómo mejorar la unidad de prueba del código Looper y Handler en Android?
Todo está bien y excelente hasta que quiera escribir más de un método de prueba.
El problema es que Looper no parece estar diseñado para permitir el cierre y el reinicio en el mismo hilo, por lo que me veo obligado a hacer todas las pruebas dentro de un solo método de prueba.
Miré en el código fuente de Looper, y no pude encontrar una manera de evitarlo.
¿Hay alguna otra manera de probar mi código Hander/Looper? ¿O tal vez alguna forma más amigable para escribir mi clase de tareas en segundo plano?
¿Puedes publicar un código de muestra para esto? Básicamente tengo la misma pregunta, excepto que no he llegado tan lejos como tú. –