Como ya se mencionó, TDD en Android es un desafío. Pero puede hacerse más fácil si diseña su aplicación de manera que sea compatible con TDD. Para simplificar la prueba de su aplicación, desea reducir la dependencia entre el SDK de Android y su código.
Un lugar para comenzar es separar la lógica de negocios de su código que accede al SDK de Android. El patrón Modelo-vista-presentador podría ser la forma en que eligió hacer esto. Cuando use MVP, su lógica de negocios interactuará con Modelos (interfaces y abstracciones sobre modelos de base de datos de Android) y Vistas (abstracciones sobre fragmentos, actividades, etc.) a través de un Presentador. La introducción de estos niveles de abstracciones le proporciona algo (la capa de presentador) que puede probarse utilizando las bibliotecas de Java Testing (JUnit, etc.).
Una búsqueda en Internet debería proporcionarle algunos ejemplos para comenzar.
- ¿Son los desarrolladores realmente tan diferentes de otros trabajadores de cuello blanco?
- ¿Cuáles son algunas historias de éxito del uso de la recolección automática de basura en sistemas a gran escala?
- Sector de TI: en los EE. UU., Incluso personas no técnicas pueden unirse a empresas de TI y son totalmente bienvenidas. En la India, ¿no se valora a las personas con antecedentes técnicos?
- ¿Cómo puede un equipo de desarrollo de software apoyar y beneficiarse mejor de un director creativo?
- ¿Por qué los editores de texto son más populares que los IDE con los ingenieros de la industria del software?
Para probar las unidades de disco que hablan con el ecosistema de Android, deberá usar herramientas como Robolectric para apagar el SDK de Android. Por ejemplo, puede usar Robolectric para asegurarse de que las implementaciones de la vista (fragmentos, actividades) se actualicen correctamente cuando se acceda a través de la interfaz de Vista. Es posible que reconozca algunas de estas ideas de las de una arquitectura hexagonal.
Otras herramientas, como Espresso, pueden ser útiles para escribir pruebas que interactúan con su interfaz de usuario. Con estos, puede comprobar que cuando se producen interacciones en una actividad, las llamadas resultantes al presentador son correctas.
Las últimas revisiones de Android Studio (v1.1 +) admiten la ejecución de pruebas JUnit y pruebas con los corredores de prueba Robolectric.