@Test
public void mockNativeMethod() {
new MockUp<Runtime>() {
@Mock
@SuppressWarnings("unused")
int availableProcessors() {
return 999;
}
};
assertEquals(999, Runtime.getRuntime().availableProcessors());
}
MockUp Runtime.availableProcessors - это нормально, но когда в MockUp System.currentTimeMillis что-то идет не так, возникает ошибка «java.lang.UnsatisfiedLinkError».
@Test
public void testSystemNative() {
new MockUp<System>(System.class) {
@Mock
@SuppressWarnings("unused")
long currentTimeMillis() {
return 0L;
}
};
Assert.assertEquals( 0L,System.currentTimeMillis());
}