如何使用 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();
我正在模拟 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();