我有一个类,它有两个方法。我想模拟类,然后模拟第一个方法,而不是第二个方法。
。
class C {
void m1() { ...}
boolean m2() { ... return flag;}
}
单元测试代码:
C cMock = Mockito.mock(C.class);
Mockito.doNothing().when(cMock).m1();
Mockito.when(cMock.m2()).thenCallRealMethod();
奇怪的是m2没有被调用。
我在这里错过了什么吗?
这也是Mockito.spy
可以使用的地方。它允许您对真实对象进行部分模拟。
C cMock = Mockito.spy(new C());
Mockito.doNothing().when(cMock).m1();
缺少呼叫:cMock.m2 ();