嗨我在尝试在eclipse中运行我的单元测试时遇到以下错误:
java.lang.NoClassDefFoundError: android/test/AndroidTestCase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
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.AndroidTestCase
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 18 more
测试课
public class ResponseUtilTest extends AndroidTestCase {
private BubbleResponseUtil responseUtil;
private static final String TAG = ResponseUtilTest.class.getSimpleName();
@Override
protected void setUp() throws Exception {
super.setUp();
responseUtil = new ResponseUtil();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
public void testGetdata() {
}
public void testIsOkMessage() {
}
public void testIsRetryMessage() {
}
public void testIsMatchedCRC() {
}
}
感谢所有我使用的android sdk Eclipse版本,我从android开发网站获得。
再次感谢
答案 0 :(得分:3)
您需要向设备/模拟器运行AndroidTestCase
。我猜测你只是将其作为常规JUnit3
/ JUnit4
测试用例运行?
答案 1 :(得分:0)
ninetwozero是正确的。 AndroidTestCase没有设备可以运行。您需要附加真实设备或创建具有设备特征的Android虚拟设备(仿真器)。
右键单击包含测试的项目,然后单击Run As-> Run Configurations。选择Android JUnit Test,单击“New Launch Configuration”按钮。转到“目标”标签;使用右下角的“管理器”按钮创建新的模拟器。我确定其他文章介绍了如何设置模拟器。