使用 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有三种方式(不使用,动态使用,静态使用,默认是动态使用)