单元测试 OSGi 组件
2022-09-04 22:36:56
我目前正在考虑“如何设计一个OSGi组件,以便使用jUnit和Mockito等框架轻松编写测试”。
模拟捆绑包间依赖关系非常容易,因为OSGi加强了DIP(依赖关系反转原则)和注入器方法(例如setter)通常存在。
但是捆绑软件内部依赖关系呢?
例如,看看这个案例。现在我想把它带入OSGi环境...Image 我们希望在OSGi平台中提供任何类型的网络协议作为声明性服务,并希望编写单元测试来测试直接与套接字对象交互的较低网络代码。
如果我们将套接字创建重构为一个单独但仍然捆绑内部POJO(普通旧Java对象)类,我们应该如何将其注入协议实现中?
- 在单元测试中,我们可以简单地使用 setter 方法,但是谁会在 OSGi 容器中为我们执行此操作呢?
- 仅当测试类未声明为 final 时,对测试的类进行子类化并覆盖创建者方法才有效。