unitarias tutorial studio pruebas espaƱol ejemplos ejemplo android mockito junit4 robolectric

tutorial - Casos de prueba unitaria con JUnit+(Robolectric o Mockito o ambos en Android)



pruebas unitarias android ejemplo (2)

Esta es la primera vez que tengo que escribir casos de prueba unitaria en Android.

Así que he buscado muchas cosas.

  1. Robolectric framewordk - Funciona en JVM
  2. Mockito Framwork - Objetos burlones

Así que tengo algunas dudas en Robolectric & Mokito.

  1. ¿Debo usar Robolectric solo con JUnit en la aplicación de Android?
  2. ¿Debo usar Mockito solo con JUnit en la aplicación de Android?
  3. ¿Debo ir con ambos framework?
  4. ¿Cuál es la diferencia entre Mockito y Robolectric?

Busco la diferencia entre Mokito y Robolectric pero no obtengo una respuesta adecuada para eso.

Por favor recomiende.


Mockito solo puede cubrir la mayoría de los casos.

Sin embargo, Robolectric también puede proporcionar operaciones limitadas en el componente de Android, como la prueba de actividad o fragmento en unidad (no prueba de instrumentación, que no depende del SDK de Android), que no requiere ningún emulador o dispositivo y es considerablemente más rápido que las pruebas de instrumentación.

Mi sugerencia: use Mockito para la prueba unitaria y Espresso para la prueba de interfaz de usuario, ya que son marcos de prueba semioficiales para Android.

Agregue Robolectric en su Prueba de unidad si hay algunas dependencias en el SDK de Android.


Tienen usos ligeramente diferentes y tiendo a usar ambos en mis proyectos.

Mockito

Se usa para hacer burlas de tus clases.

Cuando estás probando una clase en particular, te burlas de todas sus dependencias con Mockito.

Donde sea posible, la mayoría de sus pruebas deben usar mockito. Para hacer esto posible, la mayoría de las personas dividen su código en MVP, etc., donde la lógica de negocios está separada de la lógica de Vista. De esta manera, su lógica empresarial (Presentador) no tiene conocimiento (ni dependencias) en la biblioteca de Android y no tiene necesidad de burlarse de ellos.

Robolectric

Es una biblioteca que contiene muchos simulacros de clases de Android .

El corredor de pruebas de Robolectric inyecta estos ''objetos ocultos'' en lugar de las clases reales de Android cuando se ejecutan las pruebas. Esto es lo que permite que las pruebas se ejecuten en la JVM sin iniciar una instancia de Android.

Cuando se utiliza MVP, la capa de vista tiende a implementarse mediante la Actividad / Fragmento y es aquí donde puede usar Robolectric para burlarse de estos.

Notas

Use Robolectric solo cuando sea necesario. Básicamente, vuelve a implementar partes del marco de Android, pero no siempre de la misma manera.

También puede necesitar otra biblioteca como PowerMock. Esto permite la burla de clases estáticas como Matemáticas o se puede usar para simular clases estáticas de Android como TextUtils.

Ambos se utilizan con JUnit.