java - Mockito 非 stub 函数

标签 java android mocking mockito

我刚开始使用 Mockito,所以不是很熟悉。我 mock 了这样一个对象:

CInjectorFactory mockFactory = mock(CInjectorFactory.class);

现在,如果我不对特定函数进行 stub ,它就不会调用原始 CInjectorFactory 的函数,我会得到一个“空”值:

public CMainActivityHelper getMainActivityHelper()

这是否意味着模拟对象只能使用 stub 函数?这个模拟对象没有从被模拟的对象继承原始功能?

谢谢。

最佳答案

你可以使用:

CInjectorFactory mockFactory = mock(CInjectorFactory.class, Mockito.CALLS_REAL_METHODS);

然后,未 stub 的方法将委托(delegate)给真正的实现。

Mockito.CALLS_REAL_METHODS javadoc 中的示例:

Foo mock = mock(Foo.class, CALLS_REAL_METHODS);

 // this calls the real implementation of Foo.getSomething()
 value = mock.getSomething();

 when(mock.getSomething()).thenReturn(fakeValue);

 // now fakeValue is returned
 value = mock.getSomething();

关于java - Mockito 非 stub 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153004/

相关文章:

android - 如何截取屏幕截图?

java - 是否有任何其他方法可以在构造函数中模拟此方法调用

java - 有没有更好的方法来测试以下方法而无需模拟返回模拟?

java - LIBGDX 创建主菜单

Java Graphics - 像 Zelle 的 Python Graphics 一样简单

android - 稍后从混合应用程序迁移到 native 应用程序

c# - 在断言之前或之后模拟 Verify/VerifyAll

java - 如何打印JTable中选定的行

java - 如何从 AccountManager.getAccounts() 获取与特定帐户关联的图标

后台模式下的android应用程序会减慢设备速度