我有一个看起来像这样的方法
public class BookItemReader extends StaxEventItemReader<Book> {
protected List<Book> doRead() {
List<Book> bookList= null;
try {
bookList = convertToBookImport((Book) super.doRead());
} catch (Exception ex) {
//do nothign
}
return bookList;
}
}
对于上述方法,我试图通过模拟方法super.doRead()
StaxEventItemReader<Book> staxEventItemReader = Spy(StaxEventItemReader)
staxEventItemReader.doRead() >> new Book()
但是,控件正在调用超类方法doRead
。有人可以指导我模拟这个super
类方法,以便我可以停止在测试中调用超类方法吗?
我尝试了this solution,但模拟是指子类方法。
BookItemReader reader = Mockito.spy(new BookItemReader ())
Mockito.doReturn(new Book()).when((StaxEventItemReader) reader).doRead()