2016-09-26 245 views
0

所以,我有一些我试图模拟集成测试的依赖关系。Spring - 在另一个@Bean之前创建一个@Bean的常规方法从库中加载

更具体地说,我在我的类路径上有一个spring-cloud,它加载Eureka client作为其引导配置过程的一部分,并尝试连接到discovery service

目前,我正在使用一个真实的服务器,但我想嘲笑它,在客户端尝试连接到它之前。

不幸的是,由于客户端包含在库中,我无法控制它,也就是说我不能为其添加@DependsOn注释。

我正在和各种Spring生命周期的听众一起玩,我想我应该能够得到它的工作,但想知道是否有一个更清洁的方法来解决问题。

+0

也许[this](http://stackoverflow.com/questions/34307529/strategy-for-unit-testing-a-spring-cloud-service)可以帮助你。 –

回答

0

您可以为您禁用尤里卡集成测试与下列属性 "eureka.client.enabled:false"


另一种方法是产生一个模拟尤里卡豆与@Primary注释就可以了。这个策略与设置@DependsOn相反。

指示当多个 候选者有资格自动装载单值依赖关系时,应给予bean优先。如果 只有一个“主要”bean存在于候选者中,它将是自动装配值 。

相关问题