Wie bekomme ich Mockito arbeiten in androidTest

In meinem test, wie kann ich simulieren Sie eine Klasse, die ich schrieb?

Hier ist mein test-code:

import android.support.test.runner.AndroidJUnit4;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;

@RunWith(AndroidJUnit4.class)
public class SampleTest {
    @Mock
    Sample mySample;

    @Before
    public void setup() {
        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void shouldMockSample() {
        verify(mySample, never()).neverCallMe();
    }

}

Beispiel ist nur eine dummy-Klasse.

public class Sample {

    public void neverCallMe() {}
}

Wie bekomme ich diesen Fehler loszuwerden?

java.lang.VerifyError: org/mockito/cglib/core/ReflectUtils an
org.mockito.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:167)
bei
org.mockito.cglib.core.DefaultGeneratorStrategy.generieren(DefaultGeneratorStrategy.java:25)
bei
org.mockito.cglib.core.AbstractClassGenerator.erstellen(AbstractClassGenerator.java:217)
bei
org.mockito.cglib.core.KeyFactory$Generator.erstellen(KeyFactory.java:145)
bei org.mockito.cglib.core.KeyFactory.erstellen(KeyFactory.java:117) at
org.mockito.cglib.core.KeyFactory.erstellen(KeyFactory.java:109) at
org.mockito.cglib.core.KeyFactory.erstellen(KeyFactory.java:105) at
org.mockito.cglib.proxy.Enhancer.(Enhancer.java:70) at
org.mockito.intern.- Erstellung.cglib.ClassImposterizer.createProxyClass(ClassImposterizer.java:95)
bei
org.mockito.intern.- Erstellung.cglib.ClassImposterizer.imposterise(ClassImposterizer.java:57)
bei
org.mockito.intern.- Erstellung.cglib.ClassImposterizer.imposterise(ClassImposterizer.java:49)
bei
org.mockito.intern.- Erstellung.cglib.CglibMockMaker.createMock(CglibMockMaker.java:24)
bei org.mockito.intern.util.MockUtil.createMock(MockUtil.java:33) at
org.mockito.intern.MockitoCore.mock(MockitoCore.java:59) at
org.mockito.Mockito.spy(Mockito.java:1368)

in java.lang.reflektieren.Methode.invokeNative(Native Method) at
java.lang.reflektieren.Methode.invoke(Method.java:515) an
org.junit.die Läufer.Modell.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
bei
org.junit.intern.die Läufer.Modell.ReflectiveCallable.run(ReflectiveCallable.java:12)
bei
org.junit.die Läufer.Modell.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
bei
org.junit.intern.die Läufer.Aussagen.RunBefores.bewerten(RunBefores.java:24)
bei
org.junit.intern.die Läufer.Aussagen.RunAfters.bewerten(RunAfters.java:27)
bei org.junit.die Läufer.ParentRunner.runLeaf(ParentRunner.java:325) at
org.junit.die Läufer.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
bei
org.junit.die Läufer.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
bei org.junit.die Läufer.ParentRunner$3.run(ParentRunner.java:290) an
org.junit.die Läufer.ParentRunner$1.Zeitplan(ParentRunner.java:71) at
org.junit.die Läufer.ParentRunner.runChildren(ParentRunner.java:288) bei
org.junit.die Läufer.ParentRunner.access$000(ParentRunner.java:58) at
org.junit.die Läufer.ParentRunner$2.bewerten(ParentRunner.java:268) bei
org.junit.die Läufer.ParentRunner.run(ParentRunner.java:363) an
org.junit.die Läufer.Suite.runChild(Suite.java:128) bei
org.junit.die Läufer.Suite.runChild(Suite.java:27) at
org.junit.die Läufer.ParentRunner$3.run(ParentRunner.java:290) an
org.junit.die Läufer.ParentRunner$1.Zeitplan(ParentRunner.java:71) at
org.junit.die Läufer.ParentRunner.runChildren(ParentRunner.java:288) bei
org.junit.die Läufer.ParentRunner.access$000(ParentRunner.java:58) at
org.junit.die Läufer.ParentRunner$2.bewerten(ParentRunner.java:268) bei
org.junit.die Läufer.ParentRunner.run(ParentRunner.java:363) an
org.junit.runner.JUnitCore.run(JUnitCore.java:137) at
org.junit.runner.JUnitCore.run(JUnitCore.java:115) at
android.Unterstützung.test.intern.runner.TestExecutor.execute(TestExecutor.java:54)
bei
android.Unterstützung.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:228)
bei
android.app.Instrumentation$InstrumentationThread.laufen(Instrumentation.java:1741)

java.lang.NoClassDefFoundError:
org/mockito/intern/anlegen/cglib/ClassImposterizer$3 an
org.mockito.intern.- Erstellung.cglib.ClassImposterizer.createProxyClass(ClassImposterizer.java:95)
bei
org.mockito.intern.- Erstellung.cglib.ClassImposterizer.imposterise(ClassImposterizer.java:57)
bei
org.mockito.intern.- Erstellung.cglib.ClassImposterizer.imposterise(ClassImposterizer.java:49)
bei
org.mockito.intern.- Erstellung.cglib.CglibMockMaker.createMock(CglibMockMaker.java:24)
bei org.mockito.intern.util.MockUtil.createMock(MockUtil.java:33) at
org.mockito.intern.MockitoCore.mock(MockitoCore.java:59) at
org.mockito.Mockito.spy(Mockito.java:1368)

in java.lang.reflektieren.Methode.invokeNative(Native Method) at
java.lang.reflektieren.Methode.invoke(Method.java:515) an
org.junit.die Läufer.Modell.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
bei
org.junit.intern.die Läufer.Modell.ReflectiveCallable.run(ReflectiveCallable.java:12)
bei
org.junit.die Läufer.Modell.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
bei
org.junit.intern.die Läufer.Aussagen.RunBefores.bewerten(RunBefores.java:24)
bei
org.junit.intern.die Läufer.Aussagen.RunAfters.bewerten(RunAfters.java:27)
bei org.junit.die Läufer.ParentRunner.runLeaf(ParentRunner.java:325) at
org.junit.die Läufer.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
bei
org.junit.die Läufer.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
bei org.junit.die Läufer.ParentRunner$3.run(ParentRunner.java:290) an
org.junit.die Läufer.ParentRunner$1.Zeitplan(ParentRunner.java:71) at
org.junit.die Läufer.ParentRunner.runChildren(ParentRunner.java:288) bei
org.junit.die Läufer.ParentRunner.access$000(ParentRunner.java:58) at
org.junit.die Läufer.ParentRunner$2.bewerten(ParentRunner.java:268) bei
org.junit.die Läufer.ParentRunner.run(ParentRunner.java:363) an
org.junit.die Läufer.Suite.runChild(Suite.java:128) bei
org.junit.die Läufer.Suite.runChild(Suite.java:27) at
org.junit.die Läufer.ParentRunner$3.run(ParentRunner.java:290) an
org.junit.die Läufer.ParentRunner$1.Zeitplan(ParentRunner.java:71) at
org.junit.die Läufer.ParentRunner.runChildren(ParentRunner.java:288) bei
org.junit.die Läufer.ParentRunner.access$000(ParentRunner.java:58) at
org.junit.die Läufer.ParentRunner$2.bewerten(ParentRunner.java:268) bei
org.junit.die Läufer.ParentRunner.run(ParentRunner.java:363) an
org.junit.runner.JUnitCore.run(JUnitCore.java:137) at
org.junit.runner.JUnitCore.run(JUnitCore.java:115) at
android.Unterstützung.test.intern.runner.TestExecutor.execute(TestExecutor.java:54)
bei
android.Unterstützung.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:228)
bei
android.app.Instrumentation$InstrumentationThread.laufen(Instrumentation.java:1741)

Ich bin mit den folgenden Abhängigkeiten in meinem gradle-Datei:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.1'
    androidTestCompile 'com.android.support:support-annotations:22.2.1'
    androidTestCompile 'org.mockito:mockito-core:1.10.19'
    androidTestCompile 'org.objenesis:objenesis:2.1'
    androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
    androidTestCompile 'com.android.support.test:runner:0.3'
    androidTestCompile 'com.android.support.test:rules:0.3'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2'
    testCompile 'org.mockito:mockito-core:1.10.19'
    testCompile 'org.hamcrest:hamcrest-library:1.3'
    testCompile 'junit:junit:4.12'
    testCompile 'org.robolectric:robolectric:3.0'
}
InformationsquelleAutor ericharlow | 2015-08-11
Schreibe einen Kommentar