Я пытаюсь протестировать мой класс конфигурации Spring, который помечен ConditionalOnCloudPlatform
.
Вот очень упрощенный пример класса конфигурации (я не могу опубликовать свой фактический код):
@Configuration
@ConditionalOnCloudPlatform(CloudPlatform.CLOUD_FOUNDRY)
public class CloudConfigurationExample {
@Bean
public MyBean myBean(MyProperties properties) {
return new MyBean(properties.getParam);
}
}
Для тестирования я надеялся сделать это:
@RunWith(MockitoJUnitRunner.class)
public class CloudConfigurationExampleTest {
private CloudConfigurationExample cloudConfigurationExample;
private MyProperties myProperties;
@Before
public void setUp() {
myProperties = new MyProperies();
myProperties.setParam("test");
cloudConfigurationExample = new CloudConfigurationExample(myProperties);
}
@Test
public void test() {
MyBean myBean = cloudConfigurationExample.myBean();
// do asserts etc.
}
}
У меня проблема в том, что ConditionalOnCloudPlatform
активирован и ожидает наличия действующего облачного соединителя.В результате я получаю No suitable cloud connector found
.
Кто-нибудь знает правильный путь, чтобы заставить Junit игнорировать эту аннотацию?Я попытался установить переменную окружения с помощью VCAP_SERVICES
, чего и ожидает эта аннотация, но она не сработала.
Спасибо!