WEB开发网
开发学院软件开发Java 一种轻量级、可重用、可扩展的 OSGi 应用程序测试... 阅读

一种轻量级、可重用、可扩展的 OSGi 应用程序测试框架

 2009-12-01 00:00:00 来源:WEB开发网   
核心提示: 图 2. 基于 bundle/service 的实现框图基于 fragment 的实现在 OSGi 框架中提供了一种称为 fragment 的特殊 bundle,在装载的过程中,一种轻量级、可重用、可扩展的 OSGi 应用程序测试框架(4),这类 fragment 是被附加到被称为“

图 2. 基于 bundle/service 的实现框图

一种轻量级、可重用、可扩展的 OSGi 应用程序测试框架

基于 fragment 的实现

在 OSGi 框架中提供了一种称为 fragment 的特殊 bundle。在装载的过程中,这类 fragment 是被附加到被称为“宿主”的 bundle 上,最后作为一个整体 bundle 运行于 OSGi 环境中。最为典型的 fragment 应用场景是多语言包发布,将包含多语言包的 bundle 作为主体程序 bundle 的 fragment,这样可以将多语言包和主体 bundle 作为两个独立的部分来发布,但在运行时它们又是一个整体。

图 3. 基于 fragment 的实现框图

一种轻量级、可重用、可扩展的 OSGi 应用程序测试框架

在实现测试框架时,也可以应用同样的思想。图 3 显示了这一实现的框图。测试框架只提供一个主测试 bundle,实现了 JUnit 的测试框架,但是它不需要注册相应的 service 给其他 bundle 使用,而只需提供测试代码的调用接口。而用户实现相应的测试用例时,需将其实现成主测试 bundle 的 fragment。在测试用例执行期间,真正的测试用例和主测试框架运行于一个整体的 bundle 内。这种机制相对于第一种实现方式,可以避免引入更多相对重量级的测试 bundle。同时也做到了将测试框架和测试用例分离,在运行时动态加载。可能存在的问题是当测试用例数量很大时,可能会造成测试 bundle 的运行时体积较大,但这种情况可以通过动态地卸载一些暂时不用的测试用例来解决。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:轻量级 重用 扩展

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接