Pregunta

He desarrollado una aplicación Android que ahora estoy creando pruebas de unidad. He creado un segundo proyecto (sufijo ". Test" como el nombre del proyecto) y seleccionó el proyecto original como el objetivo.

Mi proyecto original incluye algunos archivos JAR externos.

No puedo acceder a todos los métodos de mis pruebas sin referenciar estos archivos JAR en la ruta de construcción de mi proyecto de prueba también. Como ejemplo, obtengo este error:

The type com.j256.ormlite.android.apptools.OrmLiteBaseService cannot be resolved. It is indirectly referenced from required .class files

Las pruebas funcionan correctamente aunque (cuando no acceden a esos métodos).

Si incluyo los archivos JAR requeridos en la ruta de construcción del proyecto de prueba, obtengo este error sin embargo:

05-16 15:59:03.732: INFO/TestRunner(1222): java.lang.NoClassDefFoundError: sw6.visualschedule.persistence.DatabaseHelper
05-16 15:59:03.732: INFO/TestRunner(1222):     at sw6.visualschedule.test.ScheduleActivityTest.setUp(ScheduleActivityTest.java:22)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestCase.runBare(TestCase.java:125)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestResult$1.protect(TestResult.java:106)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestResult.runProtected(TestResult.java:124)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestResult.run(TestResult.java:109)
05-16 15:59:03.732: INFO/TestRunner(1222):     at junit.framework.TestCase.run(TestCase.java:118)
05-16 15:59:03.732: INFO/TestRunner(1222):     at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
05-16 15:59:03.732: INFO/TestRunner(1222):     at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
05-16 15:59:03.732: INFO/TestRunner(1222):     at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
05-16 15:59:03.732: INFO/TestRunner(1222):     at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)

¿Cómo puedo resolver el NOCLASSDEFFOUNDERROR? Estoy realmente confundido ya que se refiere a una clase dentro de mi proyecto, y funciona cuando el archivo JAR externo no está incluido en la ruta de construcción.

IM usando Eclipse en OSX, si tiene alguna influencia.

¿Fue útil?

Solución

Exportar esas libs para probar el proyecto, pero las referen en el proyecto de prueba

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top