public void doSomething(){
//...
HibernateCursorItemReader<Object[]> reader = new HibernateCursorItemReader<>();
//...
}
如何模拟读者,或使新的HibernateCursorItemReader<>()
返回一个模拟对象?
你可以用一个方法包装new HibernateCursorItemReader<>();
而不是模拟它,例如:
HibernateCursorItemReader<Object[]> getReader() {
return new HibernateCursorItemReader<>();
}
public void doSomething(){
//...
HibernateCursorItemReader<Object[]> reader = getReader(); // use method invocation to get a reader
//...
}
现在,当你想模拟reader
时,请改为模拟getReader()
方法并返回你想要的任何内容:
MyObject object = ...; //your original object
MyObject spyObject = Mockito.spy(object);
Mockito.doReturn(/*your value*/).when(spyObject).getReader();