我刚开始使用 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/