基于Spring概要文件的条件JUnit 4测试执行

时间:2019-07-01 09:56:33

标签: java spring junit spring-profiles

我有一个使用"spring.profiles.active"来决定要使用哪个配置文件的应用程序。我们正在使用JUnit4。我需要根据使用中的Profile来调整测试类。因此,如果"spring.profiles.active" = "X"我需要在Class A中执行测试,而"spring.profiles.active" = "Y"我需要在Class 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

1 个答案:

答案 0 :(得分:0)

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