Я пытаюсь смоделировать RestTemplate, но при отладке вижу ошибку, которая приводит к нулевому указателю:
Метод сгенерировал исключение org.mockito.exceptions.misusing.UnfinishedStubbingException.Невозможно оценить org.springframework.http.ResponseEntity $$ EnhancerByMockitoWithCGLIB $$ 3c63496d.toString ()
Это строка кода, котораяЯ пытаюсь проверить:
ResponseEntity<EmailEntity[]> response =
restTemplate.exchange(apiURI, HttpMethod.GET, entity, EmailEntity[].class);
EmailEntity[] partialEmailEntity = response.getBody();
response.getBody () возвращает нулевое значение.
Это фрагмент кода в моем тесте:
@RunWith(MockitoJUnitRunner.class)
public class EmailItemReaderTest {
@Mock
private RestTemplate restTemplate;
@InjectMocks
private EmailItemReader reader;
@Before
public void setUp(){
MockitoAnnotations.initMocks(this);
}
...
...
ResponseEntity<EmailEntity> mockEntity = Mockito.spy(new ResponseEntity(mockObject, HttpStatus.OK));
doReturn(mockEntity).when(restTemplate).exchange(
Mockito.any(URI.class),
Mockito.any(HttpMethod.class),
Mockito.any(HttpEntity.class),
EmailEntity[].class);
reader.read();