ServiceInstance.createInstance должен вызываться при выполнении вызова PUT по указанному ниже URL-адресу.Чтобы иметь возможность проверить, вызывается ли правильный метод при отправке запроса PUT, я хочу смоделировать объект (ServiceInstance), который вызвал метод.Тем не менее, макет не перекрывает реальный экземпляр.Чего мне не хватает в этой настройке?
@RunWith(SpringRunner.class)
@SpringBootTest(classes = { MySpringBootApplication.class })
@SpyBean(ServiceInstance.class)
public class ServiceTest {
@Autowired
ServiceInstance serviceInstance;
@BeforeClass
public static void setUp() {
SpringApplication.run(MySpringBootApplication.class, new String[] {});
}
@Test
public void sendPutRequest() throws JSONException, ClientProtocolException, IOException {
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
HttpPut putRequest = new HttpPut("http://localhost:8080/v2/instances/1");
//.....
httpClient.execute(putRequest);
Mockito.verify(serviceInstance, Mockito.times(1)).createInstance(Mockito.any());
}
}