Spring - 在从库加载的另一个@Bean之前创建@Bean的传统方法

时间:2016-09-26 18:13:53

标签: spring spring-boot mocking

所以,我有一些依赖项,我试图模仿集成测试。

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

目前,我正在使用真实服务器,但我想在客户端尝试连接之前先模拟它。

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

我正在玩各种Spring生命周期监听器,我想我应该能够让它工作,但是想知道是否有更清洁的方法来解决问题。

1 个答案:

答案 0 :(得分:0)

您可以使用以下属性为集成测试禁用eureka "eureka.client.enabled:false"

另一种方法是生成一个带有@Primary注释的模拟eureka bean。此策略与设置@DependsOn相反。

  

表示在多个bean时应该优先考虑bean   候选人有资格自动使用单值依赖。如果   正是一个主要的'豆子存在于候选者中,它将是   自动装配价值。