我的TestSuite有两个配置,它们提供不同的注入bean。只要我使用注释设置我的配置文件,这就可以工作。
@ActiveProfiles( profiles={"a"})
和@ActiveProfiles( profiles={"b"})
但我似乎无法从Property Source文件中设置它
我的注释看起来像
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {AConfig.class, BConfig.class })
@PropertySource("classpath:/application.properties")
@TestPropertySource(locations = {"classpath:/application.properties"})
public abstract class AbstractTestIT {
...
}
application.properties
的内容是
spring.profiles.active="a"
结果是不满意的依赖
如上所述,使用@ActiveProfiles
进行设置工作并使用正确的。
几乎就像PropertySource和/或TestPropertySource不能使用@RunWith(SpringJUnit4ClassRunner.class)
答案 0 :(得分:1)
只要我使用注释设置我的个人资料,这就有效。
这是预期的。
ActiveProfiles
并不依赖于spring.profiles.active
属性。
ActiveProfiles是一个用于声明的类级别注释 加载时应使用哪些活动bean定义配置文件 测试类的ApplicationContext。
作为profiles
属性的别名的value
属性需要使用要为测试激活的配置文件进行评估
要激活的bean定义配置文件。
它没有使用spring.profiles.active
属性。
spring.profiles.active
属性指定哪些配置文件在应用程序的整体配置中处于活动状态,而不是单元测试上下文。