我有一个有两种方法的类。我想模拟类,然后模拟第一个方法,但不是第二个方法。
e.g。
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没有被调用。
我在这里想念什么吗?
答案 0 :(得分:39)
这也是可以使用Mockito.spy
的地方。它允许你对真实物体进行部分模拟。
C cMock = Mockito.spy(new C());
Mockito.doNothing().when(cMock).m1();
答案 1 :(得分:5)
缺少电话: cMock.m2();