我在certainbean类中有以下方法:
public boolean isOn() {
InterfaceBean Bean = getBean();
return Bean.hasBeenSetOn(Param1, Param2);
}
现在我想
assertEquals(CertainBeanInstance.isOn(),true);
为了做到这一点,我首先需要模拟 IntefaceBean。我怎样才能做到这一点?
提前致谢
最佳答案
您需要使用 Mockito 1.8 中的 spy 并仅模拟 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)
关于java - 如何使用mockito Junit模拟方法的本地实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20740465/