Условное выполнение теста JUnit 4 на основе профилей Spring - PullRequest
0 голосов
/ 01 июля 2019

У меня есть приложение, которое использует "spring.profiles.active", чтобы решить, над каким профилем работать. Мы используем JUnit 4. Мне нужно подготовить свои тестовые классы на основе используемого профиля. Поэтому, если "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

1 Ответ

0 голосов
/ 01 июля 2019

Надеюсь, вы добавили @IfProfileValue (name = "spring.profiles.active", value = "X") на уровне класса. Попробуйте добавить методы тестирования в класс и проверьте.

...