一种轻量级、可重用、可扩展的 OSGi 应用程序测试框架
2009-12-01 00:00:00 来源:WEB开发网核心提示: 图 2. 基于 bundle/service 的实现框图基于 fragment 的实现在 OSGi 框架中提供了一种称为 fragment 的特殊 bundle,在装载的过程中,一种轻量级、可重用、可扩展的 OSGi 应用程序测试框架(4),这类 fragment 是被附加到被称为“
图 2. 基于 bundle/service 的实现框图
基于 fragment 的实现
在 OSGi 框架中提供了一种称为 fragment 的特殊 bundle。在装载的过程中,这类 fragment 是被附加到被称为“宿主”的 bundle 上,最后作为一个整体 bundle 运行于 OSGi 环境中。最为典型的 fragment 应用场景是多语言包发布,将包含多语言包的 bundle 作为主体程序 bundle 的 fragment,这样可以将多语言包和主体 bundle 作为两个独立的部分来发布,但在运行时它们又是一个整体。
图 3. 基于 fragment 的实现框图
在实现测试框架时,也可以应用同样的思想。图 3 显示了这一实现的框图。测试框架只提供一个主测试 bundle,实现了 JUnit 的测试框架,但是它不需要注册相应的 service 给其他 bundle 使用,而只需提供测试代码的调用接口。而用户实现相应的测试用例时,需将其实现成主测试 bundle 的 fragment。在测试用例执行期间,真正的测试用例和主测试框架运行于一个整体的 bundle 内。这种机制相对于第一种实现方式,可以避免引入更多相对重量级的测试 bundle。同时也做到了将测试框架和测试用例分离,在运行时动态加载。可能存在的问题是当测试用例数量很大时,可能会造成测试 bundle 的运行时体积较大,但这种情况可以通过动态地卸载一些暂时不用的测试用例来解决。
[]
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››扩展WebSphere Portal V6个性化功能
- ››轻量级数据交换格式 JSON轻松入门
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››扩展数据:如何为 Model 750 服务器选择 I/O 扩展...
- ››扩展 JDT 实现自动代码注释与格式化
- ››扩展 secldap 的功能以验证多个数据源
- ››扩展 JUnit4 以促进测试驱动开发
- ››轻量级系统 Lubuntu 10.04 发布
- ››扩展 JUnit 测试并行程序
- ››轻量级AOP框架-移植python的装饰器(Decorator)到C...
- ››轻量级AOP框架-移植python的装饰器(Decorator)到C...
更多精彩
赞助商链接