У меня есть тест JUnit5 с SpringExtension
.Все, что мне нужно, это переменные окружения, которые нужно вставить через Spring * @Value
:
@ExtendWith(SpringExtension.class)
class MyTest {
@Value("${myValue}") String myValue;
...
. При этом я получаю сообщение об ошибке:
Не удалось загрузить ApplicationContext. Причина: java.lang.IllegalStateException: Ни GenericGroovyXmlContextLoader, ни AnnotationConfigContextLoader не смогли загрузить ApplicationContext
Конечно, Spring должен иметь конфигурацию контекста, поэтому я поместил его в код теста:
@ExtendWith(SpringExtension.class)
@ContextConfiguration
class MyTest {
@Value("${myValue}") String myValue;
@Configuration
static class TestConfig { /*empty*/ }
...
Хотя это работает, для меня это выглядит как лишний шаблонный код.Есть ли более простой способ?
ОБНОВЛЕНИЕ
Одним из более коротких вариантов было бы использование @SpringJUnitConfig
, в результате чего @ContextConfiguration
и @ExtendWith(SpringExtension.class)
были бы из коробки.
Но класс конфигурации (даже пустой) все еще необходим.