Макет Eureka Feign Client для Unittesting

Я использую eureka и симуляцию Spring Cloud для связи между некоторыми сервисами (скажем, A и B). Теперь я хотел бы протестировать мой уровень обслуживания одного сервиса (A). Проблема в том, что эта служба (A) использует симулированного клиента для запроса некоторой информации о другой службе (B).

При запуске юнит-тестов без какой-либо специальной настройки выдается следующее исключение:java.lang.RuntimeException: com.netflix.client.ClientException: Load balancer does not have available server for client: service-b => но я не хочу, чтобы какой-либо сервер работал.

У меня вопрос: есть ли способ издеваться над симулируемым клиентом, чтобы я мог протестировать мой сервис (A) без запуска экземпляра eureka и сервиса (B)?

Редактировать: я закончил создание заглушки для симулированного клиента. Заглушка помечена как основной компонент, чтобы заставить пружину создавать заглушку в моих тестах.
Это решение, которое я придумал.

//the feign client
@FeignClient("user") 
public interface UserClient { 
    UserEntity getUser(); 
}

//the implementation i use for the tests 
@Component 
@Primary //mark as primary implementation
public class UserClientTestImpl implements UserClient { 
    @Override public UserEntity getUser() { 
        return someKindOfUser; 
    } 
}

Ответы на вопрос(3)

Ваш ответ на вопрос