Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将多个Spring配置文件应用于单个配置类_Java_Spring_Testing_Integration Testing_Spring Profiles - Fatal编程技术网

Java 将多个Spring配置文件应用于单个配置类

Java 将多个Spring配置文件应用于单个配置类,java,spring,testing,integration-testing,spring-profiles,Java,Spring,Testing,Integration Testing,Spring Profiles,我的应用程序有4种可能的Spring配置文件 测试(用于单元/集成测试) 质量保证 舞台 生产 上面列表中的最后3个是运行此应用程序的实际环境 下面是我的配置类AppConfig的概述 @Configuration @ComponentScan(basePackages={"org.mycompany.services","org.mycompany.domain", "org.mycompany.utils"}) public class AppContext { } 我的问题是: 我

我的应用程序有4种可能的Spring配置文件

  • 测试(用于单元/集成测试)
  • 质量保证
  • 舞台
  • 生产
上面列表中的最后3个是运行此应用程序的实际环境

下面是我的配置类AppConfig的概述

@Configuration
@ComponentScan(basePackages={"org.mycompany.services","org.mycompany.domain", "org.mycompany.utils"})
public class AppContext {

}
我的问题是: 我希望AppContext的配置仅应用于QA、阶段和生产概要文件(而不是测试概要文件)。最好的方法是什么

原因是上面的配置类扫描并从org.mycompany.services中选取类。但是我不希望这个包被用于测试概要文件,因为我打算使用Mockito模拟这个包中的类

另一个可能的问题是,我是否需要重新考虑进行单元/集成测试的方式,以便简化org.mycompany.service package中类的模拟?

您可以在配置类上使用注释

要为除
TEST
之外的任何概要文件启用该类,只需像
@profile(“!TEST”)
一样使用它

或者您可以显式地指定如下配置文件:
@Profile({“QA”、“STAGE”、“PRODUCTION”})