我在CertainBean类中有以下方法:
public boolean isOn() {
InterfaceBean Bean = getBean();
return Bean.hasBeenSetOn(Param1, Param2);
}
现在我想
assertEquals(CertainBeanInstance.isOn(),true);
为了做到这一点,我首先需要模拟IntefaceBean。我怎么能这样做?
提前致谢
答案 0 :(得分:6)
您需要使用Mockito 1.8中的间谍并仅模拟方法getBean
CertainBean bean = spy(new CertainBean());
when(bean.getBean()).thenReturn(yourInterfaceMockedBean);
在这个有用的链接中有更多关于模拟真实部分对象的信息: http://blog.javabien.net/2009/06/21/mockitos-partial-mocks-testing-real-objects-just-got-easier/
这里是Mockito 1.8的变化 https://code.google.com/p/mockito/wiki/ReleaseNotes#Changed_in_1.8.0_(23-07-2009)