Невозможно переопределить @ImportResource для JunitTesting. ⇐ JAVA
-
Anonymous
Невозможно переопределить @ImportResource для JunitTesting.
У меня есть приложение Spring Boot, в котором я хотел бы запустить несколько тестов Junit, используя аннотацию @SpringBootTest.
Проблема, с которой я столкнулся, заключается в том, что мое приложение обычно использует клиентский узел Ignite. Это не работает во время тестирования, поскольку нет сервера Ignite, к которому можно подключиться. Чтобы решить эту проблему, я пытаюсь предоставить конфигурацию Ignite, которая будет запускаться как серверный узел и не будет искать какие-либо другие узлы.
Я проверил, что это будет работать, отредактировав существующую конфигурацию напрямую. Однако мне не удалось заставить мой класс, который управляет моим клиентом Ignite, использовать конкретную тестовую конфигурацию, а не конфигурацию по умолчанию. Конфигурация указывается с помощью аннотации @ImportResource к пути к XML-файлу, содержащему определение компонента для конфигурации Ignite.
Я пробовал добавить @ContextConfiguration(classes = IgniteCacheManager.class) и @TestPropertySource({"file:./src/test/resources/IgniteConfigTest.xml"}) в мой тестовый класс, но безуспешно.
Юнит-тесты:
@SpringBootTest //@ContextConfiguration(classes = IgniteCacheManager.class) //@TestPropertySource({"file:./src/test/resources/IgniteConfigTest.xml"}) @ImportResource({"file:./src/test/resources/IgniteConfigTest.xml"}) общественный класс JWTEndtoEndTest { @Тест общественная недействительность loginValidateAndLogOutUser () { //тесты здесь } } Пользователь файла конфигурации Ignite"
@Component @Конфигурация @ImportResource( { "файл:./config/IgniteConfig.xml" }) общественный класс IgniteCacheManager { @Autowired частный IgniteConfiguration cfg; частный Ignite igniteClient; @PostConstruct частная недействительная инициализация () { пытаться { igniteClient = Ignition.start(cfg); } catch (исключение ex) { log.error("Невозможно подключиться к кешу Ignite", ex); } }
У меня есть приложение Spring Boot, в котором я хотел бы запустить несколько тестов Junit, используя аннотацию @SpringBootTest.
Проблема, с которой я столкнулся, заключается в том, что мое приложение обычно использует клиентский узел Ignite. Это не работает во время тестирования, поскольку нет сервера Ignite, к которому можно подключиться. Чтобы решить эту проблему, я пытаюсь предоставить конфигурацию Ignite, которая будет запускаться как серверный узел и не будет искать какие-либо другие узлы.
Я проверил, что это будет работать, отредактировав существующую конфигурацию напрямую. Однако мне не удалось заставить мой класс, который управляет моим клиентом Ignite, использовать конкретную тестовую конфигурацию, а не конфигурацию по умолчанию. Конфигурация указывается с помощью аннотации @ImportResource к пути к XML-файлу, содержащему определение компонента для конфигурации Ignite.
Я пробовал добавить @ContextConfiguration(classes = IgniteCacheManager.class) и @TestPropertySource({"file:./src/test/resources/IgniteConfigTest.xml"}) в мой тестовый класс, но безуспешно.
Юнит-тесты:
@SpringBootTest //@ContextConfiguration(classes = IgniteCacheManager.class) //@TestPropertySource({"file:./src/test/resources/IgniteConfigTest.xml"}) @ImportResource({"file:./src/test/resources/IgniteConfigTest.xml"}) общественный класс JWTEndtoEndTest { @Тест общественная недействительность loginValidateAndLogOutUser () { //тесты здесь } } Пользователь файла конфигурации Ignite"
@Component @Конфигурация @ImportResource( { "файл:./config/IgniteConfig.xml" }) общественный класс IgniteCacheManager { @Autowired частный IgniteConfiguration cfg; частный Ignite igniteClient; @PostConstruct частная недействительная инициализация () { пытаться { igniteClient = Ignition.start(cfg); } catch (исключение ex) { log.error("Невозможно подключиться к кешу Ignite", ex); } }
Мобильная версия