java.lang.NoClassDefFoundError при выполнении теста JUnit в Netbeans - PullRequest
12 голосов
/ 26 мая 2010

Я создаю приложение Android hello world в Netbeans. Он работает правильно, и я могу работать в эмуляторе.

Но при создании и запуске теста Junit я получаю java.lang.NoClassDefFoundError.

Как я могу решить эту проблему?

Ответы [ 5 ]

16 голосов
/ 27 августа 2011

Проверьте манифест вашего тестового проекта, например HelloWorldTest/AndroidManifest.xml.Атрибут android:targetPackage разметки instrumentation должен быть нацелен на пакет в вашем приложении, например, com.example.helloworld. Не тестовый пакет вашего тестового проекта (например, com.example.helloworld.test).

3 голосов
/ 14 мая 2013

Просто AndroidManifest.xml -> manifest -> package основного приложения должно соответствовать AndroidManifest.xml -> manifest -> instrumentation -> android:targetPackage тестового приложения.

0 голосов
/ 24 октября 2011

Я не знаю о специфике netbeans, но проблема, вероятно, та же.

FragmentActivity нельзя проверить с помощью ActivityInstrumentationTestCase2

В вашем тестовом проекте может использоваться библиотека совместимости Android, отличная от вашего основного проекта, и это вызывает странные ошибки.

0 голосов
/ 26 мая 2010

Я считаю, что перестройка обычно находит классы (так как это проблема пути к классам). Netbeans, кажется, агрессивно компилирует существующие тесты, но основной исходный код (по крайней мере из настроек maven) не всегда доступен.

Я начал запускать полные сборки, чтобы попытаться решить эту проблему. Возможно, есть плагин, который решает эту проблему, но я еще не нашел его.

РЕДАКТИРОВАТЬ: Это может помочь.

0 голосов
/ 26 мая 2010

Полное сообщение об ошибке содержит имя класса, который не был найден на пути к классам . Дважды проверьте, содержит ли путь к классам, используемый для запуска теста, все необходимые классы и библиотеки (ваши файлы классов, junit.jar и специальные библиотеки Android).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...