您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
使用Grester简化Java应用程序的JUnit测试
作者:网络转载 发布时间:[ 2013/3/22 14:37:43 ] 推荐标签:

Jester 由 Ivan Moore 编写,它是测试由程序员和开发人员编写的单元测试的工具。该工具基于这样一个假设:代码中的很多区域包含了条件语句、循环语句和 case 语句,并且在一些代码区域中,类的圈复杂度(cyclomatic complexity)由于存在很多执行路径而会突然增加。Jester 主要关注的是类似这样的代码。但是要运行它,必须使用指向各个资源的格式良好的类路径。

Grester 是针对 Jester 的 Apache Maven 包装器,它减轻了从项目依赖关系构造 Java™ 类路径之类的麻烦,这样您可以使用 Jester 更轻松地测试执行点。Grester 还增强了使用 Maven 的一些优点,Maven 是其基础架构的核心。在对没有使用测试驱动方式编写的代码进行额外检查时,Jester 尤为有用。此类代码可以是旧式应用程序中的遗留代码,甚至还可以是近编写的代码,这些代码的开发人员认为使用 Agile 的测试驱动方法指导构建高质量代码来说难度较大。

实际上,您可以使用 Grester 来突破使用非测试驱动方式编写代码的限制。根据我的经验,范围蔓延(scope creep)和可能错失或绕过实际业务函数的代码将会增加错误数和恶意代码 数量(快速处理 blob 反模式,即使在很小的代码段中,都不必作为单个难于管理的模块或模块集)。

本文不会探讨解释 Jester 的输出及精确说明 Jester 如何工作的技术细节。要获得这些信息,请参阅 参考资料 中由 Elliott Rusty Harold 撰写的文章,或者访问 Ivan Moore 的 Web 站点。本文旨在探讨获取并围绕 Jester 使用 Maven 插件包装器。

获取 Grester

您可以通过两个来源之一获取 Grester,它们都列在 参考资料 中。运行 Grester 所需的基础设施非常少:您只需要使用 Maven 能构建和使用 Grester。Grester 是用 Groovy 编写的,Groovy 是一种动态语言,它的语法类似于 Java 并且拥有 Python 和 Ruby 等语言的优点。Grester 本质上只是用于快速运行 Jester 工具的另一个 Maven 插件,因此 Grester 的真正威力来自 Jester。在本文中,结合使用了 Jester V1.37 与 Grester V0.3 alpha 发行版。

Jester 打破常规:为什么呢?

如果所有项目 Java Archive (JAR) 依赖关系都位于一个位置,那么直接运行 Jester 不可能比在 Java 类路径条目中引用单个路径更简单。但是,当依赖关系散布到整个文件系统中时,每次 Jester 运行的配置问题会十分复杂而讨厌,尤其是在各个依赖关系随时间改变位置时。使用 Maven 将显著简化此过程。

Jester 运行在 Maven 项目构建配置以外的每个实例中。那么,Grester 的特别之处在哪里?答案在于 Maven 组织其依赖关系的方式。这种 “安排” 非常高效,Maven 不但尝试把 Java(或 Groovy)JAR 和 Web 归档 (WAR) 的查找方式标准化,而且还尝试把保存方式标准化。
Linux 和 UNIX 用户注意
Grester 的文件大小非常小,并且在解压缩后,您可以放心地删除目前的压缩归档。这里是在 Windows 计算机中使用 Cygwin 来说明解压缩它是多么简单 —— 甚至在模拟的 Linux 环境中也一样。但是,不建议用早于 Grester 0.3 的版本在 Linux 或 UNIX 系统上试验,因为虽然 Windows alpha 版本非常稳定,但是缺少一些操作系统功能。不过,在所有版本中,都使用 Jester V1.37。

安装 Grester

获取 TAR 压缩资源(.tar 文件和 tar.gz 文件适用于 UNIX® 和 Linux®)或者 Microsoft® Windows® ZIP 文件后,请将其解压缩。有很多种方法可以完成此操作:在这里,我使用 Windows 中的 Cygwin 实用程序。

图 1. 用 Windows 中的 Cygwin 实用程序解压缩 Grester

您还可以将 TAR 实用程序与 xzvf 选项结合使用来解压缩 tar.gz 文件,或者与 xvf 选项结合使用来解压缩普通 .tar 文件。图 2 给出了该过程的示例。

图 2. 用 TAR 实用程序解压缩 Grester tar.gz 文件

终的目录结构应当类似于图 3。

图 3. 在 Windows 中解压缩的 Grester

配置、构建和安装 Grester

此时,您已经准备好让 Maven 知道可以从哪个外部系统库获得相关 Grester Groovy 依赖关系,从而在本地把 Grester 编译和安装成 Maven 插件。您可以通过把两个远程系统库添加到 $MAVEN_HOME/conf/settings.xml 文件中来完成此操作,如下所示:

上一页12345下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd