Тест JerseyJUint - как программно загрузить файл OSGI-INF/blueprint/config.xml в Java

Я пишу Junit для спокойных веб-сервисов. Я хочу загрузить свой конфигурационный файл, который находится по адресу /src/test/resources/OSGI-INF/blueprint/config.xml, поэтому перед выполнением любого из моих тестовых случаев все бины, определенные в файле config.xml, должны быть инициализированы. Не могли бы вы, пожалуйста, скажите мне, как можно программно получить все бины без использования Spring. Пожалуйста, помогите, я новичок в OSGI и Караф.

1 ответ

Я не думаю, что вы найдете эффективный способ объединить тесты кода, использующего технологию, связанную с OSGi. Однако существует несколько способов написания тестов с аннотациями JUnit и запуска их в контейнере OSGi. Чтобы использовать эти инструменты, вы должны собрать все зависимости, которые нужны вашему пакету. Вы можете назвать это тестом на половину интеграции и тестом на половину модуля.

Эти инструменты:

  • Экзамен Pax: он запустит контейнер OSGi для каждого вашего метода тестирования (насколько я помню, я использовал его несколько лет назад)
  • BndTools: если вы разрабатываете свои модули с помощью BndTools, вы также можете написать тесты, которые могут выполняться во время сборки ant, maven или gradle.
  • http://www.everit.org/eosgi-maven-plugin/: с целью тестирования интеграции он устанавливает все зависимости проекта в контейнер OSGi. Вы должны зарегистрировать экземпляр вашего тестового класса в качестве службы OSGi с определенными свойствами службы. Ваш тестовый класс должен содержать аннотации JUnit4. Существует также плагин eclipse, который позволяет вам запускать тестовый контейнер и видеть свежие результаты теста в Eclipse после их выполнения. Для этого выбора есть видео, чтобы помочь начать
Другие вопросы по тегам