Prueba de clases sin actividad en Android
Sé cómo probar las clases de actividad con JUnit 4 en Android, pero no puedo entender cómo probar las clases que no son de actividad (que no amplían Actividad, ListActivity o alguna otra clase de actividad, pero utilizan algunas API de Android). Por favor, ayúdame en este sentido.
- Cómo generar informes de pruebas de Android en HTML automáticamente
- ¿Cómo compartir recursos entre la prueba de unidad y la prueba de instrumentación en android?
- Android inmediatamente creado Los elementos de par son nulos
- IllegalStateException en Android Support al ejecutar pruebas de unidad
- Prueba de unidad de Android: ActivityMonitor waitForActivityWithTimeout devuelve NULL, getActivity nunca devuelve, error de permiso de INJECT_EVENTS
- Robolectric: NotFoundException: recurso desconocido 0 en org.robolectric.shadows.ShadowAssetManager.getAndResolve (ShadowAssetManager.java:258)
- ¿Cómo puedo obtener Mockito trabajando en androidTest
- ¿Cómo burlar el método de Bundle en Android Unit-Test?
- Prueba de unidad Android SMS Receiver
- Prueba de unidad en la función de extensión de Kotlin en las clases de SDK de Android
- Android InstrumentationTestCase getFilesDir () devuelve null
- Adaptador RecyclerView en la prueba de unidad
- Cómo llamar a Button.performClick en Android JUnit test case?
Para probar clases sin actividad:
- Crear un proyecto de prueba
- Crear un caso de prueba
-
Ejecutar como Android JUnit Test
public class MyClassTests extends TestCase { /** * @param name */ public myClassTests(String name) { super(name); } /* (non-Javadoc) * @see junit.framework.TestCase#setUp() */ protected void setUp() throws Exception { super.setUp(); } /* (non-Javadoc) * @see junit.framework.TestCase#tearDown() */ protected void tearDown() throws Exception { super.tearDown(); } /** * Test something */ public final void testSomething() { fail("Not implemented yet"); } }
El SDK de Android incluye JUnit. De hecho, las clases de prueba de Android como AndroidTestCase e InstrumentationTestCase heredan de junit.framework.TestCase. Esto significa que puede utilizar un caso de prueba estándar de JUnit para probar una clase que no sea de actividad e incluirla en los proyectos de Android.
Por ejemplo, puede crear un proyecto de Android con una clase simple para probar:
public class MyClass { public static int getOne() { return 1; } }
Y un proyecto de prueba de Android con una prueba estándar de JUnit para probar esta clase:
public class TestMyClass extends TestCase { public void testMyClass() { assertEquals(1, MyClass.getOne()); } }
Y ejecutar esto en un dispositivo Android o en el emulador de Android.
Más información después de ver la aclaración de la pregunta en los comentarios:
AndroidTestCase u otras clases de prueba de Android se pueden utilizar para probar las clases que no necesitan actividad, que necesitan acceso al resto del framework Android (con una actividad simulada proporcionada en setUp () si es necesario). Estos le dan acceso a un contexto si necesita, por ejemplo, enlazar a un servicio.
- Cómo establecer varias etiquetas a un botón?
- Facebook Android SDK 3.0 siempre devuelve ABRIR al iniciar sesión