Tag: dip

unit testingOSGi组件

我目前正在考虑“如何设计一个OSGi组件,以便使用jUnit和Mockito等框架轻松编写测试” 。 由于OSGi强化DIP (依赖性倒置原则)并且通常存在注入器方法(例如,设置器),因此模拟捆绑间依赖性非常容易。 但是捆绑内部依赖呢? 例如,看看这个案例 。 现在我想将它带入一个OSGi上下文…我们希望在OSGi平台中提供任何类型的网络协议作为声明服务,并希望编写unit testing来测试直接与之交互的较低网络代码套接字对象。 如果我们将套接字创建重构为一个单独但仍然捆绑的内部POJO (Plain Old Java Object)类,我们应该如何将它注入协议实现? 在unit testing中,我们可以简单地使用setter方法但是谁会在我们的OSGi容器中执行此操作? 对测试类进行子类化并覆盖创建者方法只有在测试类未声明为final时才有效。