使用 mockito 的 mock 嵌套方法调用
我有4个类,让我们说A,B,C,D,每个类都调用另一个类的方法。
现在我已经模拟了A类,并想使用mockito模拟一种方法
A a = Mockito.mock(A.class);
并希望在递归方法调用上获得“foo”,例如
a.getB().getC().getD()
应该返回"foo"
我试过了
when(a.getB().getC().getD()).thenReturn(“foo”);
但得到空指针异常
然后我试过了
doReturn(“foo”).when(a.getB().getC().getD());
然后我得到了org.mockito.exceptions.misusing.UnfinishedStubbingException:
我知道我可以创建B,C和D的对象,甚至可以写这样的东西
B b = mock(B.class) 或 A.setB(new B())
等等。
但是我不能在一次射击中做到这一点吗?任何帮助将不胜感激。