模拟-调用真实方法



我有一个类,它有两个方法。我想模拟类,然后模拟第一个方法,而不是第二个方法。

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 ();

相关内容

  • 没有找到相关文章