Я использую Spring Boot 1.4.2.Тест на весну и веб-интеграцию с аннотацией @ConditionaOnProperty
У меня есть служба аннотированный следующим
@Service
@ConditionalOnProperty("${my.property.enabled:false}")
public class MyService {
}
и я хочу, чтобы проверить его делающие интеграционные тесты, например,
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.RANDOM_PORT)
public class MyServiceTest {
@Autowired
private MyService myService;
}
В тесте не проходит аутсорсинг. Я хочу избежать установки свойства в файле свойств внутри тестовой папки. Не могу ли я включить свойство непосредственно через такую аннотацию внутри MyServiceTest
?
Это поможет точно узнать, чего вы пытаетесь достичь. Лучше всего просто иметь класс '@ Configuration' для этого теста, который определенно объявляет' @Bean MyService' безоговорочно. – chrylis
Этот подход кажется интересным. Как я могу выполнить определенную конфигурацию в MyServiceTest? –
Я не уверен, как работает новая магия тестирования загрузки; Обычно я использую '@ ContextConfiguration'. Вы можете попробовать просто объявить (статический) «@ Configuration» вложенный класс на вашем тестовом классе и посмотреть, не поднял ли он его. – chrylis