Java.lang.NoClassDefFoundError: prueba androide y junit
Vi que no soy el único que tiene este problema pero no encuentro una respuesta correcta. Tengo un proyecto de Android que quiero probar. Creo una clase de prueba junit para cada clase de mi proyecto. Mi problema es cuando ejecuto mi prueba, tengo el siguiente error:
java.lang.NoClassDefFoundError: android/content/Context
Esta es mi prueba de clase:
- Cómo ejecutar swipe con appium en Java para la aplicación nativa de Android
- Registrar mensajes en android studio junit test
- ¿Intentar ejecutar Android JUnit pruebas en Eclipse falla?
- Cómo ejecutar pruebas en un fragmento de actividades
- Envío de mayúsculas a un TextEdit durante pruebas instrumentadas
public class DevicesBDDTest extends TestCase { DevicesBDD bdd; /** * @throws java.lang.Exception */ protected static void setUpBeforeClass() throws Exception { } /** * @throws java.lang.Exception */ protected static void tearDownAfterClass() throws Exception { } protected void setUp() throws Exception { super.setUp(); Context ctx = mock(Context.class); final MaBaseSQLiteInterface mockMaBaseSQLite = mock(MaBaseSQLiteInterface.class); bdd = new DevicesBDD(ctx){ @Override public MaBaseSQLiteInterface createMaBaseSQlite(Context context) { return mockMaBaseSQLite; } }; } protected void tearDown() throws Exception { super.tearDown(); } public void test() { assertEquals(1, 1); } }
Mi clase DevicesBDD tiene necesidades de un objeto Contexto, por lo tanto creo un simulacro (con mockito). He intentado con un objeto MockContext también, pero no funciona.
Esta es mi ruta de compilación de Java:
- Mockito-all-1.9.5.jar
- Android 2.1 -> android.jar
- Dependencias de Android -> annotations.jar
- Junit 3 -> junit.jar
- Android instrumentación prueba java.lang.UnsatisfiedLinkError en el uso de AndroidJunitRunner y AndroidJUnit4
- Cómo obtener pruebas simples de JUnit para ejecutarse en Android Studio
- JUnit y Android?
- Prueba de unidad AsyncTaskLoader con getLoaderResultSynchronously
- Android JUnit: Cómo hacer que una excepción cause un caso de prueba para pasar (anotación @Test)
- Android Studio Espresso Prueba de error: Empty Test Suite
- La compatibilidad con la prueba de unidades Android no funciona en los módulos de la biblioteca de Android
- Archivo de acceso en la prueba JUnit en el entorno Gradle
No estoy seguro de si tuve el mismo problema que tú, pero estoy usando gradle y por alguna razón las pruebas no funcionaría más, con el mismo error que tu. Intenté limpiar y reconstruir pero en vano. Después de horas de frustración y tratando de encontrar una respuesta me encontré con la solución simple en un hilo GitHub:
Resolví este problema eliminando la carpeta .gradle en mi proyecto y reconstruyendo el proyecto.
(Gracias a vpetrov)
Puede ejecutar ./gradlew clean test
en el terminal.
- ¿Cómo validar el formato y los valores de EditTextPreference introducidos en Android 2.1?
- Android Studio no incluye SDK