Очевидным решением было бы внедрить RestTemplate
вместо того, чтобы создавать его локально, но, как вы сказали, что вы не можете изменить существующий код, я бы предложил использовать PowerMock с Mockito для замены вызова конструктораRestTemplate
с использованием метода PowerMockito.whenNew
* 1007. *.
Например,
RestTemplate restTemplateMock = Mockito.mock(RestTemplate.class);
PowerMockito.whenNew(RestTemplate.class).withAnyArguments().thenReturn(restTemplateMock);
, а затем выполнение установки when
для объекта restTemplateMock.
Как уже упоминал Стрелок в комментариях: чтобы использовать PowerMockito, необходимо запустить тест с PowerMockRunner
, пометив класс теста с помощью @RunWith(PowerMockRunner.class)
и @PrepareForTest
.
Например
@RunWith(PowerMockRunner.class)
@PrepareForTest(RestTemplate.class)
public class Test {