一种轻量级、可重用、可扩展的 OSGi 应用程序测试框架
2009-12-01 00:00:00 来源:WEB开发网核心提示: 基于 extension point + fragment 的实现在第二种实现方法中,引入 fragment 机制是为了提供一种轻量级的分离测试框架和具体测试用例的方法,一种轻量级、可重用、可扩展的 OSGi 应用程序测试框架(5),我们提出这个基于 OSGi 测试框架的一个目的是要分离测试用例
基于 extension point + fragment 的实现
在第二种实现方法中,引入 fragment 机制是为了提供一种轻量级的分离测试框架和具体测试用例的方法。我们提出这个基于 OSGi 测试框架的一个目的是要分离测试用例和业务逻辑代码。那么能否也使用 fragment 的机制来达到这个目的呢?答案是肯定的,不仅仅提供测试框架的 bundle 可以作为“宿主”,被测 bundle 也可以作为“宿主”。图 4 显示了这一实现的框图。
图 4. 基于 extension point + fragment 的实现框图
在这一实现中,我们将测试用例作为被测 bundle 的 fragment,这样在运行时,测试用例可以和被测代码运行于同一 bundle 中,免去了导出(export)一些被测包(package)的麻烦,可以完全做到不修改被测 bundle。发布正式产品时只需要去除那些包含测试用例的 fragment 即可。而 JUnit 测试框架运行于另一个独立的 bundle 中,为了让测试用例能够正确执行,可以采用第一种实现中所述的 service 方式,而另一种方式是利用 Eclipse 平台提供的 extension point 机制。测试框架 bundle 需要定义一些 extension point,而测试用例则需实现这些 extension point。这样就把测试用例和测试框架关联起来了。
这种实现的好处是结构清晰,测试用例也便于管理。但是由于要依赖 Eclipse 平台提供的 extension point 机制,其适用性受到一定的限制。同时如果测试用例本身就需要和被测 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...
更多精彩
赞助商链接