我有一个类,它有一个依赖项注入到它的基类中。
class Parent{
protected PersistentCache dataCache;
}
<bean id="parent" class="xxxx.parent" abstract="true" init-method="init"
p:dataCache-ref="persistentCache"
......"/>
子项中测试的方法使用此缓存:
class Child extends Parent{
public prepareData(){
......
Data data = dataCache.get(...);
........
}
}
如何在为 prepareData 编写单元测试时模拟 dataCache 中的 get 方法以返回"虚拟"?
没
关系,它在超级类中,你可以把它当作常规方法来模拟。
@RunWith(MockitoJUnitRunner.class)
public class Testing {
@Mock
PersistentCache dataCache;
@InjectMocks
Child child;
@Before
public void abc() {
MockitoAnnotations.initMocks(this);
}
@Test
public void test() {
doReturn(dummyData).when(dataCache).get();
child.PrepareData();
}
}