Тестирование взаимодействия с контейнером OSGi, строго говоря, является интеграционным тестом.Для этого вы можете использовать Pax Exam , немного сложнее освоиться, но он работает очень хорошо (особенно если вы используете функции maven и / или karaf).
ДополнительноВы можете использовать TinyBundles , который может динамически создавать развертываемые комплекты / фрагменты из вашего теста (очень круто), чтобы макетировать другие комплекты / фрагменты для обеспечения интеграции между комплектами без создания полной среды.
Для модульного или мелкомасштабного интеграционного тестирования (т. Е. Без контейнера) тогда вы можете просто смоделировать BundleContext (или, если вы используете DS и ComponentContext), если вам это нужно.
Мне немного неясноо ваших вопросах в пунктах пули.Если есть внутренний POJO, тогда вы должны будете связать зависимости через сеттеры, в противном случае, если они будут доступны реестру службы OSGi, зависимости будут решены с помощью инфраструктуры (DS или ServiceTracker).
Также подклассычто-то, чтобы переписать метод создателя, означает, что вы больше не тестируете оригинальный класс - это запах кода - попробуйте рефакторинг его, чтобы передать код создателя как отдельный класс (конструктор или установщик), а затем этот новый код создателя (сокетсоздание) может быть протестировано независимо (без учета OSGi или даже класса протокола, где он будет использоваться).