Модульное тестирование OSGi без шага, который упаковывает пакеты
Вопрос
Я проверил несколько тестовых решений для OSGI, включая PAX, и быстро взглянул на абстрактный TestCase в Spring DM, но оба они требуют одного для объединения и связывания связанных пакетов. Я надеялся найти что-то, что работает без этого промежуточного шага. Р>
Представьте себе возможность упаковывать пакеты на вашем пути к классам, чтобы пакеты x и y составляли пакет XY, а пакеты x и z составляли пакет XZ. Bundle XZ не будет "видеть" пакет " y " но мог импортировать сервис из XY, живущий в пакете x. Любые комментарии, если это возможно, или если существует эквивалентный контрольный пример / библиотека?
Решение
Я думаю, что использование Tiny Bundles из OPS4J с Pax Exam - это то, что вы ищете.
http://wiki.ops4j.org/display/paxexam/ExamAndTinybundles / р>
Другие советы
Если вы действительно хотите применить правила видимости во время выполнения, вам, вероятно, придется запускать свои тесты в среде OSGi и платить за это часть производительности.
Однако вам может быть достаточно обеспечить видимость времени компиляции, разделив ваши классы на отдельные модули компиляции (например, отдельные модули Maven X, Y, Z) с соответствующими зависимостями, а затем запустив стандартную среду тестирования (например, JUnit) без OSGi. . р>