2012-12-04 31 views
1

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

这里是例外

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的在java.net.URLClassLoader的$ 1.run(来源不明)org.apache.http.client.HttpClient :抛出java.lang.ClassNotFoundException .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(未知来源) at java .lang.ClassLoader.loadClass(来源不明) ...... 19多个

回答

0

我加入了JUnit库到我的项目解决了这个:

  • 打开项目的属性> Java构建路径
  • 打开图书馆标签
  • 点击添加库
  • 选择JUnit
  • 单击下一步
  • 确保在下拉列表中选择正确版本的JUnit
  • 点击完成