扩展JUnit4以促进测试驱动开发 - 编程入门网
现
下面我们来描述一下对 JUnit4 扩展的实现。扩展包括 4 个模块,Annotation 定义、用户查询条件 封装、过滤器定义、核心类定义。 JUnit4 用 Annotation 来定义测试用例运行时的属性。我们可以定义自己的 Annotation 库。通过定 义出具体项目中和执行测试用例相关的属性元数据, 比如某个模块,某个特性,将这些属性通过 Annotation 附加到测试用例中,在扩展的 Runner 中利用过滤器对测试用例进行过滤,从而执行目标测 试用例。 根据实际项目中的开发经验,我们大体抽象出了如下的几种 Annotation, 可以映射到我们项目的业务 功能划分上; 表 1. 扩展的 Annotation 的具体用法
扩展JUnit4以促进测试驱动开发(3)时间:2011-10-02 ibm 左超当我们想要运行所有和 Feature 相关的测试用例时,我们只要指定执行条件,就可以只运行那部分测 试用例,而不会去运行全部的测试用例。这种方法从业务的角度来看,更加具有针对性,而且简洁快速, 比用传统的通过 TestSuite 指定测试用例的方式更加适合测试驱动开发的场景。下面给出 Feature Annotation 和 Release Annotation 的定义作为示例。 清单 1:Feature Annotation 的定义
清单 2:Release Annotation 的定义
接下来是封装用户输入的执行条件。在这里我们约定用户输入的执行条件的格式是:“条件 A = 值 A ,条件 B = 值 B”。比如用户想执行 Release A 中的跟 Feature B 相关的测试用例和方法,那么用户 的输入条件可以定义为“Release=A,Feature=B”。下图是封装用户输入的类的结构: 图 3. 封装用户输入的执行条件的类 过滤器是用来根据用户输入,对目标测试用例和测试方法进行过滤,从而找到符合条件的测试用例方 法。用户输入的每个条件都会生出相应的一个过滤器,只有测试用例满足过滤器链中所有的过滤条件,测 试用例才能被执行。下面的清单展示了过滤器接口的定义和过滤器工厂的核心实现。过滤器工厂会根据用 户输入的条件来创建对应的过滤器。 扩展JUnit4以促进测试驱动开发(4)时间:2011-10-02 ibm 左超清单 3 . Filter 接口的定义
清单 4 . FilterFactory 的部分实现
|
|||||||||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |