Estratégia para teste de unidade de um serviço Spring Cloud

Dada a seguinte configuração do Spring Cloud: Adata-service com acesso a um banco de dados, umeureka-service para lidar com registro e descoberta de serviços e um terceiro serviçobusiness-service que será um dos vários serviços que encapsulam casos de negócios.

Teste de unidadedata-service não tem problema, eu apenas desligo o eureka via

eureka.client.enabled=false

e use um banco de dados na memória para meus testes.

Para acessar odata-service debusiness-serviceEstou usando um@FeignClient("data-service") interface anotada denominadaDataClient qual é@Autowired onde for necessário. O serviço é descoberto pelo Eureka, se ambos estiverem em execução. Isso funciona bem para uma configuração de produção com todos os serviços em execução.

Mas agora eu quero testar alguns recursos do meubusiness-service. Não seria um problema iniciar um serviço de teste com

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@IntegrationTest("server.port:0")
@SpringApplicationConfiguration(classes = Application.class)

como eu estou fazendodata-service. O problema é a descoberta dependente de Eureka do meuFeignClient... Então, minha classe de teste falha, porque a ligação automática do meuDataClient-instance não funciona.

Posso dizer ao Spring para usar uma instância falsa deDataClient apenas para os meus testes? Ou é a única maneira de obter meus testes executando uma instância acessível e em execução dedata-service e meu servidor Eureka?

questionAnswers(3)

yourAnswerToTheQuestion