java - 如何使用mockito Junit模拟方法的本地实例

标签 java junit mockito

我在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/

相关文章:

java - RESTful servlet URL - web.xml 中的 servlet 映射

spring - 如何使用 Spring 的 RestTemplate 模拟 curl REST 调用?

使用 Mockito 进行 Java 单元测试。函数内的函数调用

java - 每次测试都会重置 Mock 对象吗?

Junit 使用 eq() 参数匹配器与直接传递字符串

java - Mockito:通缉但未调用

java - ArrayList set(position,object) 方法 RecyclerView 中的 IndexOutOfBound 异常

java - 如何使 Websphere App 将每个应用程序日志条目重定向到不同的文件?

java - 模拟 WebClient post 方法失败

java - 在 Java/Swing 的全屏程序中停止使用 Tab/Alt-F4