2

Android で 1 つのアプリケーションを Eclipse でテストする必要があります。Android Test Project を作成し、その中でこのクラスを作成しました。モックが必要なので、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)
4

2 に答える 2

2

単体テストを実行するときは、依存する JAR (mockito) を、テストを実行するデバイスにエクスポートする必要があります。Eclipse のクラスパスに mockito を配置できるので、テストはコンパイルされますが、それだけでは十分ではありません。Mockito は、特に Android テスト プロジェクトの libs ディレクトリにある必要があるようで、Android の依存関係に表示されるはずです。

于 2013-05-24T21:01:32.970 に答える