使用 application-test.properties 自动装配 Bean

Posted

技术标签:

【中文标题】使用 application-test.properties 自动装配 Bean【英文标题】:Autowire Beans with application-test.properties 【发布时间】:2018-07-16 10:12:06 【问题描述】:

我有以下测试类,我的 bean 总是根据我的 src 路径中的 application.properties 自动装配。

简单属性已正确自动装配(queueFrom、queueTo...),但属性 camelContext 与主体 application.properties 文件自动装配

我想用 测试路径

中的特定属性文件自动装配我的 bean

这是我的测试类的标题:

@RunWith(CamelSpringBootRunner.class)
@SpringBootTest
@EnableAutoConfiguration
@TestPropertySource(locations = "classpath:application-north-connector-test.properties")
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
public class LifeRouteITTest extends CamelTestSupport 

  private NotifyBuilder notify;

  @Value("$route.lifefrom")
  private String queueFrom;
  @Value("$route.lifeto")
  private String queueTo;
  @Value("$expected.liferoute.file.path/")
  private String expectedFilePath;
  @Value("$input.liferoute.file.path/")
  private String inputFilePath;

  @Autowired
  private CamelContext camelContext;

感谢您的帮助。

【问题讨论】:

Spring boot 在 src/main/resources 下查找 application.properties。对于测试,它的 src/test/resources. Spring boot 会自动从这些位置获取文件。 【参考方案1】:

您只需将测试属性放在application.properties 文件中,然后将其放在src/test/resources 中。测试属性将从那里自动加载。

【讨论】:

运气好@marherbi?

以上是关于使用 application-test.properties 自动装配 Bean的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)