Junit NoclassDefhoundError с файлом JAR
-
14-11-2019 - |
Вопрос
Я разработал приложение для Android, которое я сейчас создаю модульные тесты. Я создал второй проект (суффиксированный с помощью «.test» в качестве ProjectName) и выбрал оригинальный проект в качестве цели.
Мой оригинальный проект включает несколько внешних файлов JAR.
Я не могу получить доступ к всем методам из моих тестов, не ссылась на эти файлы JAR в пути сборки моим тестовым проектом, а также. В качестве примера я получаю эту ошибку:
The type com.j256.ormlite.android.apptools.OrmLiteBaseService cannot be resolved. It is indirectly referenced from required .class files
.
Тесты работают правильно, хотя (когда не доступа к этим методам).
Если я включил необходимые файлы JAR в пути сборки тестового проекта, я получаю эту ошибку:
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)
.
Как я могу решить NOCLASSDeffoundError? Я действительно запутался, поскольку он относится к классу внутри моего проекта, и он работает, когда внешний файл JAR не включен в путь сборки.
Я использую Eclipse на OSX, если это имеет какое-либо влияние.
Решение
Экспортируйте эти libs для проверки проекта, но ссылаются на них в тестовом проекте