java.lang.NoClassDefFoundError: android / test / ActivityInstrumentationTestCase2 - PullRequest
1 голос
/ 27 ноября 2011

Я создал тестовый проект ... Я загрузил файл junit.jar в (Путь к классу конфигурации среды выполнения -> Записи пользователя -> junit.jar

При запуске я получаю ошибку ниже.код ...

java.lang.NoClassDefFoundError: android/test/ActivityInstrumentationTestCase2
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: android.test.ActivityInstrumentationTestCase2
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 17 more

Ответы [ 5 ]

8 голосов
/ 22 декабря 2012

Вам нужно запустить его как Тест Android JUnit вместо Тест JUnit . Зайдите в проект в проводнике проекта -> щелкните правой кнопкой мыши -> Тест Android JUnit

0 голосов
/ 08 июня 2013

У меня была похожая проблема.Для меня Изменение «Порядка и экспорта» (свойства-> Путь сборки-> Порядок и экспорт) файла robotium-solo.jar, т. Е. Перемещение его в верхнюю часть и явный выбор запуска в качестве «теста JUnit для Android» путем щелчка правой кнопкой мыши по проекту, решилопроблема.Также попробуйте запустить пример .

0 голосов
/ 27 ноября 2011

Следуйте этим инструкциям: http://developer.android.com/guide/developing/testing/testing_eclipse.html

Как правило, вам не нужно добавлять junit.jar в ваш путь к классам.

0 голосов
/ 16 августа 2012

Это может звучать странно. но все, что вам нужно сделать, это импортировать соло, прежде чем импортировать класс, и он работает. По крайней мере, это для меня. я не знаю, почему я пытался это сделать, но все, что нужно, это сократить импорт com.jayway.android.robotium.solo.Solo; и вставьте его сразу после упаковки.

0 голосов
/ 27 ноября 2011

android.test.ActivityInstrumentationTestCase2 отсутствует в JAR JUnit, который вы утверждаете, что добавили в classpath.

Похоже, один из твоих.

Вы скомпилировали код? Если нет, пожалуйста, сделайте это.

Вы добавили путь к месту, где записаны ваши файлы .class? Если нет, пожалуйста, сделайте это.

...