OSGI Тестирование фреймворков - некоторые наблюдения.Простой способ тестирования, требующий OSGI без множества артефактов и зависимостей
Я нахожусь в середине написания системы, использующей OSGI. Однако все популярные платформы тестирования (Spring-OSGI, PaxExam) требуют большого количества артефактов даже для простейшего теста.
Wishlist/Цели
В идеале я хотел бы один тест, который использует TinyBundle, чтобы собрать связки и дает им в рамках. После этого каркас будет выполнять тяжелую работу по запуску контейнера, развертыванию, запуску каждого теста, обновлению ui для отображения результатов и т. Д.
На поверхности кажется, что PAX-EXAM удовлетворит это, но у него есть дополнительные требования, которые я не смог решить, в Eclipse. Мои проблемы:
- Для каждого комплекта требуется отдельный проект.
- Каждый проект получает manifest.mf в $ project/meta-inf /.
В идеале я хотел бы объединить все мои манифесты и «внутренние» классы в отдельных подпакетах теста, а не разбросать их в своих соответствующих проектах.
Я обнаружил, что упаковка всего в один проект просто не работает, когда тесты выполняются, даже если поставляемые пакеты идентичны по содержанию. Однако, если я разбил все на отдельные проекты, все работает.
Maven
Я хотел бы избежать Maven, так как это означает, что более сложная система, которая будет в конечном итоге требует создания, развертывания в репозиторий, который, в конце концов, даже если автоматизированном только замедляет даже больше. Это противоречило бы с моим использованием Infinitest, который автоматически обнаруживает измененные классы и просто выполняет правильные тесты.
Конфигурации запуска плагинов проекта Eclipse.
Этот подход требует, чтобы один из них собирал связки для развертывания до выполнения теста junit. Это, конечно, работает только в том случае, если у каждого есть отдельные проекты с сопоставлением от одного к одному на один комплект. Опять же, это идет вразрез с моими попытками консолидировать все тестовые пакеты зависимостей в рамках одного проекта.
Как это сделать?
- Как я могу достичь этого?
- Возможно ли это?
- Какая простая альтернатива?
Ссылки сломаны, но я нашел [это] (https://github.com/wtreur/osgi-specification-test-framework). – reinierpost
Это действительно новое место для этого кода. Уолтер - автор, поэтому, если у вас есть какие-то дополнительные вопросы, вы, вероятно, должны связаться с ним. –
Сейчас я изучаю основы OSGi ... но надеюсь, что у меня будет много вопросов позже :) – reinierpost