如何使用 Mockito 忽略 methodA1()?

How to Ignore methodA1() using Mockito?

我正在模拟 methodS(),并想忽略方法 1()。怎么做?

public void methodToTest() {
   methodA();
   methodB();
}

void methodA() {
   methodA1();
   methodA2();
   methodA3();
}

我不建议您在测试时做这些事情,因为在实际情况下,如果您调用 methodA()methodA1() 会做一些事情。

您需要重构代码,以防您不想在 methodA.

中调用 methodA1

无论如何,您可以使用 Mockito:

MyClass mockMyClass = Mockito.mock(Myclass.class);
Mockito.doCallRealMethod().when(mockMyClass).methodA();
Mockito.doCallRealMethod().when(mockMyClass).methodA2(); 
Mockito.doCallRealMethod().when(mockMyClass).methodA3();

mockClass.methodA();

或者:

MyClass mockMyClass = Mockito.mock(Myclass.class);
when(mockMyClass.methodA()).thenCallRealMethod();
when(mockMyClass.methodA2()).thenCallRealMethod();    
when(mockMyClass.methodA3()).thenCallRealMethod();

mockClass.methodA();