我需要在Eclipse中的Android上测试一个应用程序。我制作了Android测试项目,并在其中加入了这个类。我需要一些mock,所以我使用Mockito,所以我在我的测试项目库中添加了: mockito-all-1.9.5.jar,dexmaker 1.0.jar,dexmaker mockito-1.0.jar
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)发布于 2013-05-25 05:01:33
当您运行单元测试时,您所依赖的JAR (mockito)需要导出到运行测试的设备。您可以在Eclipse中的类路径上使用mockito,以便编译您的测试,但这还不够。Mockito似乎需要在你的Android测试项目下的libs目录下,它应该出现在你的Android开发中。
发布于 2014-04-02 04:43:03
出于文档目的,如果您使用的是KitKat,而ibarbarisi的答案不起作用,请撤消所有操作,并确保您使用的是Dalvik而不是ART。看起来你不能用ART来运行工具。
有关更多详细信息,请查看此问题:INSTRUMENTATION_RESULT: shortMsg=java.lang.NoClassDefFoundError running Android Instrumentation tests
https://stackoverflow.com/questions/16225686
复制相似问题