Java 基于Spring概要文件的条件JUnit4测试执行

Java 基于Spring概要文件的条件JUnit4测试执行,java,spring,junit,spring-profiles,Java,Spring,Junit,Spring Profiles,我有一个应用程序,它使用“spring.profiles.active”来决定使用哪个配置文件。我们正在使用JUnit4。我需要根据使用的配置文件来调整我的测试类。因此,如果“spring.profiles.active”=“X”我需要在类A中执行测试,如果“spring.profiles.active”=“Y”我需要在类B中执行测试 我试过使用 @IfProfileValue(name="spring.profiles.active", value="X") 但具有上述注释的类永远不会执行

我有一个应用程序,它使用
“spring.profiles.active”
来决定使用哪个配置文件。我们正在使用JUnit4。我需要根据使用的配置文件来调整我的测试类。因此,如果
“spring.profiles.active”=“X”
我需要在类A中执行测试,如果
“spring.profiles.active”=“Y”
我需要在类B中执行测试

我试过使用

@IfProfileValue(name="spring.profiles.active", value="X")
但具有上述注释的类永远不会执行

System.Properties()
System.getProperties(){java.runtime.name=Java(TM) SE Runtime Environment, sun.boot.library.path=<<Masked>>, java.vm.version=25.191-b12, java.vm.vendor=Oracle Corporation, java.vendor.url=http://java.oracle.com/, path.separator=;, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, file.encoding.pkg=sun.io, user.country=US, user.script=, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=, java.vm.specification.name=Java Virtual Machine Specification, user.dir=<<Masked>>, java.runtime.version=1.8.0_191-b12, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, , os.arch=amd64, spring.profiles.active=X
System.Properties()
System.getProperties(){java.runtime.name=java(TM)SE运行时环境,sun.boot.library.path=,java.vm.version=25.191-b12,java.vm.vendor=Oracle Corporation,java.vendor.url=http://java.oracle.com/,path.separator=;,java.vm.name=java热点(TM)64位服务器VM,file.encoding.pkg=sun.io,user.country=US,user.script=,sun.java.launcher=sun_标准,sun.os.patch.level=,java.VM.specification.name=java虚拟机规范,user.dir=,java.runtime.version=1.8.0_191-b12,java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment,os.arch=amd64,spring.profiles.active=X

希望您在类级别添加@IfProfileValue(name=“spring.profiles.active”,value=“X”)。。
尝试在类中添加测试方法并检查。

希望您在类级别中添加了@IfProfileValue(name=“spring.profiles.active”,value=“X”)。。
尝试在类中添加测试方法并检查。

我在类级别和方法级别都尝试了它/@ContextConfiguration(locations={“classpath:”})/@RunWith(PowerMockRunner.class)/@PrepareForTest(.class)@IfProfileValue(name=“spring.profiles.active”,value=“X”)公共类…我在类级和方法级都尝试了它/@ContextConfiguration(locations={“classpath:”})/@RunWith(PowerMockRunner.class)/@PrepareForTest(.class)@IfProfileValue(name=“spring.profiles.active”,value=“X”)公共类。。。