Здесь вы создаете новый экземпляр RestTemplate.Вы можете рассмотреть определение bean-компонента RestTemplate в классе Configuration и автоматически связать его здесь, чтобы смоделировать и протестировать его с помощью инфраструктуры Mockito.
Тогда код в контроллере должен выглядеть примерно так:
@RestController
public Class Controller{
@Autowired
RestTemplate restTemplate;
bean-компонент RestTemplate должен быть определен в классе конфигурации, как показано ниже
@Configuration
public class Config {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
}
Как только вышеприведенное будет сделано, вы можете смоделировать RestTemplate, как показано ниже
@RunWith(MockitoJUnitRunner.class)
public class ControllerTest {
@Mock
RestTemplate restTemplate;
@InjectMocks
Controller controller;
@Test
public void myMethodTest() {
Mockito.when(restTemplate.exchange(Mockito.eq(your url),
Mockito.eq(HttpMethod.your method), Mockito.<HttpEntity<your request
class>> any(), Mockito.<Class<your response class>>
any())).thenReturn(your response entity);
String response = controller.myMethod(your request);
Assert.assertThat(response, CoreMatchers.is((your response entity).getBody));
}
Используя вышеупомянутое, вы можете утверждатьответ от поддельного шаблона restTemplate.