Mockito- 调用 real 方法

2022-09-01 06:04:07

我有一个有2个方法的类。我想模拟类,然后模拟第一种方法,但不是第二种方法。

例如:

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没有被调用。

我在这里错过了什么吗?


答案 1

这也是可以使用的地方。它允许您在真实对象上进行部分模拟。Mockito.spy

C cMock = Mockito.spy(new C());
Mockito.doNothing().when(cMock).m1();

答案 2

缺少对 : cMock.m2();


推荐