2013-04-25 56 views
2

我需要在Eclipse中测试Android上的一个应用程序。我做了Android测试项目,并且在这个类中。我需要一些模拟所以我用这样的Mockito我加入到我的测试项目库这样的:的Mockito,全1.9.5.jar,dexmaker-1.0.jar,dexmaker-的Mockito-1.0.jarMockito 1.9.5 + Eclipse中的Dexmaker在Android上获取NoClassDefFoundError

package metrocar.view.test; 

import android.os.Handler; 
import android.test.InstrumentationTestCase; 
import static org.mockito.Mockito.*; 

public class OBD2Test extends InstrumentationTestCase { 

    public void testInStock() { 
     Handler mHandler = mock(Handler.class); 
    } 
} 

但是,当我尝试运行它反对真正的设备,我得到这个错误。我该如何解决它?

java.lang.NoClassDefFoundError: org.mockito.Mockito 
at metrocar.view.test.OBD2Test.testInStock(OBD2Test.java:12) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214) 
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) 
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) 
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661) 
+0

Ansver是建立在项目的根libs目录,并把所有的罐子里。 – Amsik 2013-04-25 23:58:55

回答

2

运行单元测试时,需要将依赖于(mockito)的JAR导出到运行测试的设备。您可以在Eclipse的类路径中使用mockito,以便测试可以编译,但这还不够。 Mockito似乎需要专门在Android测试项目下的libs目录中,并且它应该出现在Android依赖项中。

+0

具体'libs'。只是'lib'将不起作用。 :-) – 2013-12-31 23:39:28

+0

这并不能解决问题。我试过,仍然得到相同的错误。 – 2014-04-01 20:11:23

相关问题