Mockito / PowerMock - можно ли издеваться над новым MyClass ()? - PullRequest
1 голос
/ 05 апреля 2019
public void doSomething(){
    //...
    HibernateCursorItemReader<Object[]> reader = new HibernateCursorItemReader<>();
    //...
}

как смоделировать читателя, или сделать новый HibernateCursorItemReader<>() вернуть ложный объект?

1 Ответ

1 голос
/ 05 апреля 2019

Вы можете обернуть 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...