¿Por qué obtengo un NoClassDefFoundError al ejecutar mi prueba en ActionBarActivity?
Así que estoy usando Robotium y mi clase de prueba está extendiendo la clase ActivityInstrumentationTestCase2
. He importado la biblioteca de soporte v7 en mi proyecto principal y también en el proyecto de prueba como bibliotecas.
Ahora lo que no entiendo es que la clase de prueba está trabajando cuando cambio la clase bajo prueba para extender la Activity
pero cuando la cambio a ActionBarActivity
devuelve un NoClassDefFoundError
.
- Necesito Robolectric y Mockito en mi prueba, cada uno propone su propio TestRunner
- ¿Cómo probar mejor el código Looper y Handler de la unidad en Android?
- Pruebas de unidades de Android fallan para tipo de compilación de depuración
- ActivityUnitTestCase arroja RuntimeException cuando se ejecuta con AndroidJUnitRunner
- Prueba de AsyncTaskLoaders con Robolectric
¿Estoy perdiendo algo?
Aquí está el registro que estoy recibiendo
04-11 21:32:16.551: E/dalvikvm(23925): Could not find class 'com.example.project.ActivityClass', referenced from method com.example.project.tests.ActivityClass.<init>
- Cómo escribir la prueba de Robolectric (2.3) usando la base de datos
- Soporte de la clase Robolectric de Android. Cómo tener las referencias de la clase de biblioteca R desde el proyecto de aplicación
- Gradle - equivalente de test {} bloque de configuración para android
- Prueba de unidades de Android en Eclipse: "Error al iniciar la prueba"
- UnitTest JSONObject muestra null
- Pruebas de escritura para aplicaciones Flow and Mortar
- Configuración de un directorio de activos personalizados para las pruebas unitarias en Android Studio
- Pruebas de ejecución automática antes de la compilación de aplicaciones en Android Studio
Asegúrese de exportar la biblioteca de soporte de v7 a la que se hace referencia en el proyecto de prueba.
Haga clic derecho en el proyecto de prueba, propiedades-> java construir ruta-> ordenar y exportar ficha.
Para un ejemplo, consulte el paso 5 en la sección "Configuración" aquí: http://www.stevenmarkford.com/android-ui-testing-with-espresso-basics-tutorial/ (aunque esto está mostrando cómo exportar la librería espresso igual Se aplicaría en este caso)
Creo que su app de la app de la biblioteca v7 tiene un problema de importación.
Prueba esto:
-
Importar biblioteca de soporte como un proyecto de
"sdk/extras/android/support/v7/appcompat".
-
Biblioteca de referencia en su proyecto (para Eclipse,
"Properties - Android - Add"
). -
Construir proyectos (para Eclipse,
"Projects - Build All"
). Asegúrese de que tiene"android.support.v7.appcompat"
en la carpeta principal de su proyecto.
Si todavía no resuelve su problema, reinicie eclipse y limpie y reconstruya el proyecto
Si el problema persiste, quite la biblioteca de soporte de su computadora y vuelva a cargarla y siga los pasos mencionados anteriormente.
Este código en el build.gradle
solucionó un problema similar para mí:
configurations { androidTestCompile.exclude group: 'com.android.support', module: 'support-v4' }
Más aquí .