class A {
public static int f1() {
return 1;
}
public static int f2() {
return A.f1();
}
}
class ATest {
@Test
void testF2() {
try (MockedStatic<A> aStatic = Mockito.mockStatic(A.class)) {
aStatic.when(A::f1).thenReturn(2);
int ret = A.f2(); // getting 0 here
assertEquals(ret, 2);
} catch(Exception e) {
}
}
}
在 testF2 中,我想测试静态函数 A::f2()。
它在内部调用了另一个静态函数 A::f1()。
我做了存根 A::f1() 使用“MockedStatic”和“when”方式返回 2。
但它不起作用,它返回 0。
如何解决?