Mocking eine clone()
Methode auf einer Schnittstelle scheint nicht mehr mit Mockito 2.1.0 zu arbeiten. Der Code unten funktioniert mit Mockito 1.10.19 aber wirft ein IllegalAccessError
mit Mockito 2.1.0:Mocking Schnittstelle Klon Methode
public interface CloneableInterface extends Cloneable {
CloneableInterface clone();
}
public class CloneableInterfaceTest {
@Test
public void test() {
CloneableInterface i = Mockito.mock(CloneableInterface.class);
Mockito.when(i.clone()).thenReturn(i); // Throws IllegalAccessError
}
}
Ergebnis oben Test ausgeführt wird:
java.lang.IllegalAccessError: CloneableInterface$MockitoMock$833899610.clone()LCloneableInterface;
ich die Mockito Fehlerliste überprüft und googelte ein bisschen, fand aber nichts. Ich wollte zuerst die SO-Community überprüfen, bevor ich einen Fehlerbericht mit dem Mockito-Team einreichte.
Umwelt: JDK 1.8.0_102, JUnit 4.11, Mockito 2.1.0, Gradle 3.0, Windows-10
EDIT: einen Fehler mit dem Mockito Team Filed here
Wow, ein Fix in ~ 35 min nach dem Melden dieses Bugs auf Githum. Sehr beeindruckt. – jenglert