正如其他人已经指出的那样,您可以选择使用Maven来设置
spring.profiles.active系统属性,确保 不要
使用
@ActiveProfiles,但这对于在IDE中运行的测试来说并不方便。
对于通过编程方式设置活动配置文件的方法,您有几个选择。
- Spring 3.1:编写一个
ContextLoader
通过在上下文的中设置活动配置文件来准备上下文的自定义Environment
。 - Spring 3.2:自定义
ContextLoader
仍然是一个选项,但更好的选择是实施ApplicationContextInitializer
并通过的initializers
属性对其进行配置@ContextConfiguration
。您的自定义初始化程序可以Environment
通过编程设置活动配置文件来配置。 - Spring 4.0:上述选项仍然存在;但是,从Spring framework 4.0开始,有一个专门
ActiveProfilesResolver
用于此目的的新专用API:以编程方式确定要在测试中使用的活动配置文件集。一个ActiveProfilesResolver
可以通过注册resolver
的属性@ActiveProfiles
。
问候,
Sam(Spring TestContext framework的作者)



