我的应用程序有4个可能的Spring配置文件
上面列表中的最后3个是运行此应用程序的行为环境。
这是我的配置类AppConfig
的概述@Configuration
@ComponentScan(basePackages={"org.mycompany.services","org.mycompany.domain", "org.mycompany.utils"})
public class AppContext {
}
这是我的问题: 我希望AppContext的配置仅适用于QA,STAGE和PRODUCTION配置文件(但不适用于TEST配置文件)。最好的方法是什么?
原因是上面的配置类扫描&从org.mycompany.services中选择类。但是我不希望这个包被用于TEST配置文件,因为我打算使用Mockito来模拟这个包中的类。
另一个可能的问题是,我是否需要重新思考我接近单元/集成测试的方式,以便我可以简化org.mycompany.service包中类的模拟?
答案 0 :(得分:4)
您可以在配置类上使用@Profile
注释。
要为TEST
以外的任何个人资料启用课程,只需使用@Profile("!TEST")
。
或者您可以明确指定配置文件:@Profile({ "QA", "STAGE", "PRODUCTION" })