【问题标题】:How to use Android-Libs in JUnit-Test Cases?如何在 JUnit 测试用例中使用 Android-Libs?
【发布时间】:2012-12-04 10:47:46
【问题描述】:

我想将 JUNIT 用于我的 Android 项目中的一些网络类。我正在使用 Apache HttpClient,它已经包含在 android 中。但是当我运行我的 junit 测试时,它遇到了一个异常。我在 Junit-Testrunner 中包含了我所有的 lib 文件。但显然这还不够,因为没有找到 HttpClient。有人知道我做错了什么吗?

这里是例外

java.lang.NoClassDefFoundError: org/apache/http/client/HttpClient
at de.srs.android.pdixuploader.network.test.ClientAppTest.testCheckLogin(ClientAppTest.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:243)
at junit.framework.TestSuite.run(TestSuite.java:238)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
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)

引起:java.lang.ClassNotFoundException: org.apache.http.client.HttpClient 在 java.net.URLClassLoader$1.run(未知来源) 在 java.net.URLClassLoader$1.run(未知来源) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) ... 19 更多

【问题讨论】:

    标签: android


    【解决方案1】:

    我通过将 JUnit 库添加到我的项目中解决了这个问题:

    • 打开项目的属性 > Java 构建路径
    • 打开“库”选项卡
    • 点击添加库
    • 选择 JUnit
    • 点击下一步
    • 确保在下拉列表中选择了正确版本的 JUnit
    • 点击完成

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      相关资源
      最近更新 更多