2011-11-23 10 views
5

estoy escribiendo una unidad de pruebas para la actividad con la animación. La animación es una rotación simple de spinner dibujable con duración infinita (pantalla de bienvenida).Android unidad de pruebas de que la actividad cuenta con la animación

cuando comienzo a las pruebas de unidad, todas las pruebas parece que esperar hasta que termine la animación, por lo que stucks infinte, cuando me puse la duración a 1 IT todos los pases, causa animación termina rápidamente.

¿Cómo puedo anular que, por lo que las pruebas no esperan animación final?

Respuesta

1

que asumir que tiene la intención de probar el comportamiento que no sea la animación.

Es probable que los más beneficiados por la animación en movimiento fuera del camino del código que desea probar. Esto significa mover el otro código (código que no depende de la animación) de la Actividad. Si no está fuera de la actividad, entonces, al menos fuera de los métodos del ciclo de vida de la actividad (onCreate(), ...). A continuación, puede verificar este comportamiento sin ejecutar el comportamiento en absoluto. Aún mejor sería ejecutar el comportamiento sin iniciar la actividad en absoluto (no invoque onCreate()).

El problema que ha encontrado es un caso especial de lo que sucede cuando coloca su código directamente en un punto de extensión de marco: su código se entremezcla con el marco y se queda atascado ejecutando algo que no le importa en orden para ejecutar la parte que se ocupa. Entonces no hagas eso. Coloque su código en clases que no dependan del marco, luego use el punto de extensión del marco (la Actividad en este caso) para conectar Android a su código. La actividad sabe que tu código existe; su código permanece felizmente ignorante de Android. Ahora las cosas como la animación no pueden ponerse en el camino.

Cuestiones relacionadas