Intereting Posts
Настройка языкового стандарта приложения на pt_BR программно Как я обнаружу датчик движения в широковещательном приемнике? Nexus 4 Формат предварительного просмотра камеры Соотношение всегда требует 16×9 поверхности? Зачем Показать Назад Стрелка на панели инструментов Android AS, вынуждающий использовать инструменты разработки Android SDK 25.0.0. Редактирование средств сборки SDK (23.0.3) слишком мало для проекта Как добавить прямоугольную накладку в приложении камеры? Android: javac vs Dalvik Как узнать, активен ли звонок Skype на Android? Обнаружение изменений состояния, сделанных в BluetoothAdapter? Android – Intent Filter? Запрос HTTP POST с авторизацией на Android Поддерживает ли Android KitKat устройства, поддерживающие Bluetooth LE, в качестве периферийного устройства? Отладка в Eclipse с помощью реального телефона Android на Ubuntu 10.10 Выбранный обратный вызов Spinner активируется дважды после вращения, если выбрана ненулевая позиция Что такое заполнение текста по умолчанию в spinner

Java.lang.NoClassDefFoundError: тесты android и junit

Я видел, что я не единственный, у кого есть эта проблема, но я не нахожу правильный ответ. У меня есть проект Android, который я хочу проверить. Я создаю тестовый класс junit для каждого класса моего проекта. Моя проблема в том, когда я запускаю свой тест, у меня есть следующая ошибка:

java.lang.NoClassDefFoundError: android/content/Context 

Это мой классный тест:

 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); } } 

Мой класс DevicesBDD нуждается в объекте Context, поэтому я создаю макет (с mockito). Я тоже пытался использовать объект MockContext, но он не работает.

Это мой путь построения Java:

  • Mockito-все-1.9.5.jar
  • Android 2.1 -> android.jar
  • Зависимости Android -> annotations.jar
  • Junit 3 -> junit.jar

Solutions Collecting From Web of "Java.lang.NoClassDefFoundError: тесты android и junit"

Не уверен, что у меня была такая же проблема, как у вас, но я использую gradle, и по какой-то причине тесты просто не будут работать, с той же ошибкой, что и у вас. Я пробовал чистить и перестраивать, но безрезультатно. После нескольких часов разочарования и попыток найти ответ я столкнулся с простым решением в потоке GitHub:

Я решил эту проблему, удалив папку .gradle в своем проекте и восстановив проект.

(Благодаря Впетрову)

Вы можете запустить ./gradlew clean test в терминале.