简体   繁体   English

java.lang.NoClassDefFoundError:android / test / AndroidTestCase

[英]java.lang.NoClassDefFoundError: android/test/AndroidTestCase

Hi i am getting the following error when trying to run my unit tests in 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

Test class 考试班

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() {

    }

}

Thanks all i am using the Android sdk Eclipse edition i got from the android dev website. 谢谢所有我使用的android sdk Eclipse版本,我从Android开发网站获得。

Thanks again 再次感谢

You'll need to run your AndroidTestCase towards the device/emulator. 您需要将AndroidTestCase运行到设备/模拟器。 I'm guessing you're just running it as a regular JUnit3 / JUnit4 test case? 我猜你只是将它作为常规JUnit3 / JUnit4测试用例运行?

ninetwozero is correct. ninetwozero是对的。 There is no device for the AndroidTestCase to run on. AndroidTestCase没有设备可以运行。 You either need to attach a real device or create an Android Virtual Device (emulator) with the characteristics of your device. 您需要附加真实设备或创建具有设备特征的Android虚拟设备(仿真器)。

Right click the project with your tests in it, then Run As->Run Configurations. 右键单击包含测试的项目,然后单击Run As-> Run Configurations。 Select Android JUnit Test, click "New Launch Configuration" button. 选择Android JUnit Test,单击“New Launch Configuration”按钮。 Go to "Target" tab; 转到“目标”标签; use "Manager" button on bottom right to create your new emulator. 使用右下角的“管理器”按钮创建新的模拟器。 I'm sure other articles cover how to set up an emulator. 我确定其他文章介绍了如何设置模拟器。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM