В тесте интеграции с весенней загрузкой, помеченном @SpringBootTest
и запущенном с @RunWith(SpringRunner.class)
, я могу отбрасывать реальные HTTP-вызовы на свой контроллер отдыха через @Autowired TestRestTemplate restTemplate
и restTemplate.postForEntity(...)
Это отлично работает, просто в конце цепочки контроллер -> служба -> restclient у меня есть клиентский компонент отдыха, который вызывает стороннюю конечную точку отдыха с использованием RestTemplates внутри, поэтому мне нужно издеваться над этой конечной точкой. Я нашел эту библиотеку com.github.tomakehurst.wiremock.client.WireMock
, которую можно использовать для этого, но мне было интересно, нет ли хорошего способа весенней загрузки, такого как, например, способ протестировать клиент отдыха с @RestClientTest
, чтобы достичь этого. Я пытался издеваться над MockRestServiceServer
, чтобы написать на нем expectations and responses
, но он, похоже, не понял. Остальные шаблоны внутри моего клиента отдыха всегда создаются как настоящие, поэтому мой вызов сторонней конечной точки не выполняется.
@MockBean
(см., Например, docs.spring.io/spring-boot/docs/current/reference/html/) дляRestTemplate
, но я думаю, что wiremock является более подходящим уровень абстракции, более устойчивый к рефакторам того, как вы называете эти конечные точки. - person jonrsharpe   schedule 05.12.2017public Client getRestClient()
, который использую для будущего шпионажа. - person borino   schedule 05.12.2017